web-dev-qa-db-ja.com

SOAP解析のwsdlエラー:予期しない要素:TAG_END

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)
...

どんな提案でも大歓迎です!

11
ian_scho

Soap UI 5.2.0でも同じ問題が発生しました

私のための解決策は、プロキシをオフにすることでした(@ user518066によって提案されています)

enter image description here

20
Alin Ciocan

問題は、soapuiがスキーマファイルの場所を知らないことです。 wsdlがサーバーにデプロイされている場合は、含めるxsdファイルのURLが返され、soapuiはそれを見つけることができます。

5
Matheno

私も同じ問題を抱えていましたが、数時間後、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を無効にしました。これで問題が解決しました。

2
endo64

サービスが実行されていますか?複数のWCFプロジェクトを使用してソリューションをデバッグする場合、現在取り組んでいるプロジェクトを実行していると考えることがあり、そうではない場合があります。ブラウザにsvc URLを入力したときにエラー404が発生した場合は、これが問題の原因である可能性があります。そのシナリオでは、SOAP新しいWSDLエンドポイントを追加または作成しようとするとUIが失敗します。そのため、ターゲットsvcが配置されているプロジェクトからソリューションが実行を開始することを確認してください。

0
Manuel Roldan