2012-08-01 38 views
0

我的要求是創建一個用SAP編寫的Web服務的Java客戶端,並且必須在weblogic中部署。 Web方法將複雜的類型作爲輸入參數。由clientgen生成的webservices客戶端代碼不能tro解析wsdl

我已經使用clientgen創建了存根類。並編寫一個獨立的客戶端進行測試。

還增加了以下罐子在classpath中的xmlbeans-1.0.jar wlfullclient.jar webserviceclient.jar webservice.jar而不是給的WSDL URL到默認地將Impl對象我使用的是靜態WSDL

。當我運行該應用程序時,它給出了下面的錯誤。使用相同的wsdl我正在終止客戶端。

javax.xml.rpc.ServiceException: Failed to parse WSDL file:/C:/xxx-LPMS/trunk/build/classes/com/xxx/xxx/webservice/client/TestService_wsdl.wsdl weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Invalid index 
     at weblogic.wsee.jaxrpc.ServiceImpl.throwServiceException(ServiceImpl.java:169) 
     at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:477) 
     at weblogic.wsee.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:114) 
     at com.xxx.xxx.webservice.client.TestService_Impl.<init>(TestService_Impl.java:23) 
     at com.xxx.xxx.webservice.client.TestService_Impl.<init>(TestService_Impl.java:13) 
     at com.xxx.xxx.schnittstellen.util.StdQmCreateWSClientUtil.initServicePort(StdQmCreateWSClientUtil.java:77) 
     at com.xxx.xxx.schnittstellen.util.StdQmCreateWSClientUtil.getStdQmCreateCrServiceport(StdQmCreateWSClientUtil.java:70) 
     at com.xxx.xxx.schnittstellen.util.StdQmCreateWSClientUtil.StdQmCreateCr(StdQmCreateWSClientUtil.java:30) 
     at com.xxx.xxx.schnittstellen.util.StdQmCreateWSClientUtil.main(StdQmCreateWSClientUtil.java:91) 
    Caused by: weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Invalid index 
     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:313) 
     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:402) 
     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:388) 
     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:78) 
     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:65) 
     at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:468) 
     ... 7 more 
    Caused by: java.io.IOException: Invalid index 
     at weblogic.xml.domimpl.Loader.load(Loader.java:38) 
     at weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:168) 
     at weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:58) 
     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311) 
     ... 12 more 
    Caused by: javax.xml.stream.XMLStreamException: Invalid index 
     at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:80) 
     at weblogic.xml.stax.XMLStreamReaderBase.setInput(XMLStreamReaderBase.java:103) 
     at weblogic.xml.stax.RecyclingFactory.createXMLStreamReader(RecyclingFactory.java:35) 
     at weblogic.xml.stax.XMLStreamInputFactory.createXMLStreamReader(XMLStreamInputFactory.java:49) 
     at weblogic.xml.domimpl.Loader.createXMLStreamReader(Loader.java:60) 
     at weblogic.xml.domimpl.Loader.load(Loader.java:34) 
     ... 15 more 
    Caused by: sun.misc.InvalidJarIndexException: Invalid index 
     at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:766) 
     at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:679) 
     at sun.misc.URLClassPath.getResource(URLClassPath.java:158) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:192) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
     at weblogic.xml.babel.scanner.ScannerState.<init>(ScannerState.java:86) 
     at weblogic.xml.babel.scanner.Scanner.<init>(Scanner.java:75) 
     at weblogic.xml.babel.baseparser.BaseParser.baseScanner(BaseParser.java:172) 
     at weblogic.xml.babel.baseparser.BaseParser.createScanner(BaseParser.java:164) 
     at weblogic.xml.babel.baseparser.BaseParser.init(BaseParser.java:213) 
     at weblogic.xml.babel.baseparser.BaseParser.<init>(BaseParser.java:84) 
     at weblogic.xml.stax.XMLStreamReaderBase.prime(XMLStreamReaderBase.java:56) 
     ... 20 more 
+0

顯示您的代碼,可能是您指向索引綁定。 – hekomobile 2012-08-01 19:45:21

回答

0

我正在看一些模糊的類似的東西。就我而言,連接到ClassLoader的東西正在構建一個看起來像你的無效URL。具體來說,file:/C:/blah/blah/blah是不正確的語法;應該是file:///C:/blah/blah/blahsource

我很好奇你是否已經以與我的相關的方式解決了你的問題。

相關問題