4

WCF Web サービスを使用する必要があり、WSDL が与えられました (外部であるため、WSDL を制御できません)。WSDL 定義内で、サービス、ポート、およびアドレス要素を持つサービス要素が見つかりません。WSDLに存在しないのは普通ですか?これは WCF WSDL では一般的ですか? 軸を使用してこのスタブを生成しようとしていますが、問題が発生しています。

<wsdl:definitions>
....
...
..

**<wsdl:service>
      <wsdl:port>
       <wsdl1:address/>
      </wsdl:port>
    </wsdl:service>**

</wsdl:definitions>

アスタリスクの間の部分は、WSDL で欠落しているものです。

誰かがこのような問題を抱えていましたか?私にお知らせください。

スタブを生成するときに、次のエラーが発生します: Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:175 ) org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) で org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) で 原因: org.apache.axis2.AxisFault: 組織の org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:115) のtargetnamespace http://tempuri.org/を持つファイル:/c:/work/xxx.wsdl の WSDL にサービスが見つかりません。 apache.axis2.wsdl.codegen.CodeGenerationEngine.(CodeGenerationEngine.java:169) ... 2 つ以上

コード WSDL11ToAllAxisServicesBuilder.java を調べたところ、軸がサービス要素を見つけられない場合にこのエラーが発生するようです。

誰にもこれに対する解決策がありますか?

4

1 に答える 1

2

この WSDL にサービス タグがない理由がわかりました。提供された元の WSDL には、サービス要素を持つインポートがありました。それが正しい方法であるかどうかはわかりませんが、消費するために提供されたエンドポイントにはそれがありませんでした。他のインポートされた WSDL を調べて、そのうちの 1 つにサービス要素があることを確認する必要がありました。

これが誰かに役立つことを願っています。

エンドポイントがなかったため、WSDL で wsdl2java を使用できませんでした。ただし、サービス要素のインポートされた WSDL を調べるように軸に指示する方法がわかりません。

于 2012-08-08T18:10:29.193 に答える