0

私の要件は、SAP で記述された webservice 用の Java クライアントを作成することであり、weblogic にデプロイする必要があります。また、複雑な型を入力パラメーターとして受け取る Web メソッド。

clientgen を使用してスタブ クラスを作成しました。そして、テスト用にスタンドアロン クライアントを作成しました。

クラスパス xmlbeans-1.0.jar に以下の jar も追加しました wlfullclient.jar webserviceclient.jar webservice.jar

Impl オブジェクトに wsdl url を指定する代わりに、静的 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
4

1 に答える 1

0

ぼんやりと似たようなものを見ています。私の場合、ClassLoader に接続されている何かが、あなたのように見える無効な URL を構築しています。具体的には、file:/C:/blah/blah/blah構文が正しくありません。file:///C:/blah/blah/blah代わりにすべきです。ソース

私に関連する方法で問題を解決したかどうか、私は興味があります。

于 2012-10-03T18:04:02.907 に答える