2010-02-01 2 views
5

adresinde başvurulan şema çözümlenmeye çalışırken bir hata oluştu: Eclipse Galileo ile yerel bir WSDL dosyasından bir proxy sınıfı oluşturmaya çalışıyorum ve windows xp'de aks 2 1.4. Benim sorunum, WSDL içindeki içe aktarılmış bir şema nedeniyle hata alıyorum. Ben komutunun ardından wsdl2java çalıştırmayı denedimWSDLException:

<xsd:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/> 

: çizgi tha benim endişelendiren

wsdl2java.bat -uri SOAService.wsdl -o D:\temp p test -d xmlbeans -a -s -ns2p -uw 

ve aşağıdaki özel durum alıyorum:

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException 
: Error parsing WSDL 
     at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat 
ionEngine.java:156) 
     at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
     at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:ty 
pes/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve sche 
ma referenced at 'http://www.w3.org/2005/05/xmlmime', relative to 'file:/D:/Prog 
rammi/axis2-1.4/bin/SOAService.wsdl'.: java.net.ConnectException: Connection tim 
ed out: connect 
     at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
     at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) 
     at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(
CodeGenerationEngine.java:288) 
     at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat 
ionEngine.java:111) 
     ... 2 more 
Caused by: java.net.ConnectException: Connection timed out: connect 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
     at java.net.Socket.connect(Socket.java:520) 
     at java.net.Socket.connect(Socket.java:470) 
     at sun.net.NetworkClient.doConnect(NetworkClient.java:157) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:388) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:523) 
     at sun.net.www.http.HttpClient.<init>(HttpClient.java:231) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:304) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:321) 
     at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC 
onnection.java:813) 
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne 
ction.java:765) 
     at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection 
.java:690) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon 
nection.java:934) 
     at java.net.URL.openStream(URL.java:1007) 
     at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source) 

Ben bunun nedeni şüpheli xsd'yi wsdl2java aracına geri döndürmeyen sistem proxy'sine. Aslında dosyayı tarayıcıdan sorunsuz olarak indirebilirim.

wsdl2java için bir proxy belirtme seçeneği var mı veya birisi bu sorunu çözdü? XSD'yi indirdiğim için, projeye ekledim ve WSDL'yi göreli dosyayı (uzaktaki yerine) dahil edecek şekilde değiştirdim, ancak bunu engellemeyi tercih ediyorum çünkü dosya bir üçüncü taraf hizmetidir WSDL.

Herhangi bir ipucu için şimdiden teşekkür ederiz.

cevap

4

ben de aynı sorun vardı ve aşağıdaki I Eğer size yardımcı olur bak java -D seçeneği

java -Dhttp.proxySet=true -Dhttp.proxyHost={value} -Dhttp.proxyPort={value} org.apache.axis.wsdl.WSDL2Java {wsdlURL} 

kullanarak nasıl çözdüklerini olduğunu düşünüyorum. Saygılar

+0

Merhaba praveena, 6 aylık gecikme ile cevabınız için teşekkür ederim –

1

Bu çözüm, kullanıcının kurulumuna bağlı olarak çalışmayabilir. -Dhttp.nonProxyHosts = {hariç tutulacak ana bilgisayarların listesi} seçeneğinin çözümünde, web servislerini çalıştıran sunucunuzun yerel olması ve ortamınızın dışında barındırılan xml dosyalarına veya proxy'nizle ilgili başvurulara gerek duyulması gerekli değildir. yerel istekleri cevaplamak için ayarlanmamış.