ASP.NETバージョン4 Visual Studio 2010 ExpressプロジェクトからSOAPUI 4.5.1へのWSDL定義のインポート中にエラーが発生しました
URLは次のようになります
http://localhost:7929/ws/AX.asmx?WSDL
エラーが発生しました
Error loading [http://localhost:7929/ws/AX.asmx?WSDL]: org.Apache.xmlbeans.XmlException:
org.Apache.xmlbeans.XmlException: error: Unexpected element: TAG_END
エラートレース:
com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlLoader.loadXmlObject(WsdlLoader.Java:138)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.getDefinitionParts(SchemaUtils.Java:535)
...
どんな提案でも大歓迎です!
問題は、soapuiがスキーマファイルの場所を知らないことです。 wsdlがサーバーにデプロイされている場合は、含めるxsdファイルのURLが返され、soapuiはそれを見つけることができます。
私も同じ問題を抱えていましたが、数時間後、IPv6に関する問題であることがわかりました。
サービスURLに移動すると、wsdlファイルを表示して検証できます。全く問題ありませんでした。
http://localhost/SoapServer.php?wsdl
しかし、このURLをSoapUIに追加すると、エラーUnexpected element: TAG_END
が発生します。私はcURLを使用して理由を見つけました、curl http://localhost/SoapServer.php?wsdl
は404を返します!!
私のApacheがIPv4とIPv6の両方をリッスンしていることがわかったので、ブラウザーはIPv6に移動してwsdlを取得しますが、cURLとSoapUIはIPv4に移動して404エラーを取得します。
Listen [::0]:80
ファイルの行httpd.conf
を削除して、ApacheでIPv6を無効にしました。これで問題が解決しました。
サービスが実行されていますか?複数のWCFプロジェクトを使用してソリューションをデバッグする場合、現在取り組んでいるプロジェクトを実行していると考えることがあり、そうではない場合があります。ブラウザにsvc URLを入力したときにエラー404が発生した場合は、これが問題の原因である可能性があります。そのシナリオでは、SOAP新しいWSDLエンドポイントを追加または作成しようとするとUIが失敗します。そのため、ターゲットsvcが配置されているプロジェクトからソリューションが実行を開始することを確認してください。