2017-10-10 15 views
0

次のチュートリアルを使用してwsdlからsrcを生成しようとしていますが、wsimport中に例外が発生しています。WSDLの解析に失敗しました

http://www.mkyong.com/webservices/jax-ws/jax-ws-wsgen-tool-example/

wsimportの-keep -verbose http://localhost:7001/poc-war/ServerInfoService?wsdl

次のエラー行き方:?

C:\Program Files\Java\jdk1.8.0_102\bin>wsimport -keep -verbose http://localhost:7001/poc-war/ServerInfoService?wsdl 
parsing WSDL... 


[ERROR] Server returned HTTP response code: 504 for URL: http://localhost:7001/poc-war/ServerInfoService?wsdl 

Failed to read the WSDL document: http://localhost:7001/poc-war/ServerInfoService?wsdl, because 1) could not find the document; /2) the document could not be read; 3) the root element of the document is not <wsdl:definitions>. 


[ERROR] Could not find wsdl:service in the provided WSDL(s): 

At least one WSDL with at least one service definition needs to be provided. 


     Failed to parse the WSDL. 

ServerInfoServiceをWSDL

<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.mkyong.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="ServerInfoService" targetNamespace="http://ws.mkyong.com/"> 
    <wsdl:types> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://ws.mkyong.com/" targetNamespace="http://ws.mkyong.com/"> 
    <xsd:complexType name="getIpAddressResponse"> 
    <xsd:sequence> 
     <xsd:element minOccurs="0" name="return" type="xsd:string"/> 
    </xsd:sequence> 
    </xsd:complexType> 
    <xsd:complexType name="getIpAddress"/> 
    <xsd:element name="getIpAddressResponse" type="ns0:getIpAddressResponse"/> 
    <xsd:element name="getIpAddress" type="ns0:getIpAddress"/> 
</xsd:schema> 
    </wsdl:types> 
    <wsdl:message name="getIpAddress"> 
     <wsdl:part element="tns:getIpAddress" name="parameters"/> 
    </wsdl:message> 
    <wsdl:message name="getIpAddressResponse"> 
     <wsdl:part element="tns:getIpAddressResponse" name="parameters"/> 
    </wsdl:message> 
    <wsdl:portType name="ServerInfo"> 
     <wsdl:operation name="getIpAddress"> 
      <wsdl:input message="tns:getIpAddress" name="getIpAddress"/> 
      <wsdl:output message="tns:getIpAddressResponse" name="getIpAddressResponse"/> 
     </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:binding name="ServerInfoServiceSoapBinding" type="tns:ServerInfo"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <wsdl:operation name="getIpAddress"> 
      <soap:operation soapAction="" style="document"/> 
      <wsdl:input name="getIpAddress"> 
       <soap:body use="literal"/> 
      </wsdl:input> 
      <wsdl:output name="getIpAddressResponse"> 
       <soap:body use="literal"/> 
      </wsdl:output> 
     </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:service name="ServerInfoService"> 
     <wsdl:port binding="tns:ServerInfoServiceSoapBinding" name="ARMServicePortTypeImplPort"> 
      <soap:address location="http://10.19.9.92:7001/poc-war/ServerInfoService"/> 
     </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 
+0

まずはブラウザからwsdlにアクセスできますか?タイムアウトが原因でURLを呼び出すようになっているようです。ローカルホストをバイパスしていない環境にプロキシが設定されている可能性がありますか? – Optional

+0

はいブラウザからアクセスできます。 URL:http:// localhost:7001/poc-war/ServerInfoService?wsdl – ravi

+0

また、wgetなどのコマンドプロンプトを使用していますか?なぜ私は504が明確なガートウェイエラーであるからです。外部からスキーマをインポートできますか? – Optional

答えて

0

これはネットワークの問題です。ブラウザでwsdlを開き、テキストを新しい.wsdlファイルにコピーして貼り付け、ハードドライブURLとネットワークURLから再生成することができます。

私は、ネットワークセキュリティによっていくつかの開発ツールを使用してWSDLに到達することができなかったため、ローカルにコピーを保持することができました。私はそれが最高で仕事であることを認めますが、多くの情報がなければ、トラブルシューティングが容易ではありません。

関連する問題