2
私はweb.xmlにありますtransformWsdlLocations&<url-pattern>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
と
<servlet-mapping>
<servlet-name>personWS</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
自動生成されたWSDLは、右のURLが含まれています
<soap:address location="http://localhost:8888/MyWSApp/getPerson/"/>
だから私は、新しいプロジェクトを作成するときにSoapUIのwsdlに基づいて、EndPointはright url(http:// localhost:8888/MyWSApp/getPerson /)に設定されます
しかし、私はにURLパターンを変更する場合:
<url-pattern>/something/*</url-pattern>
自動WSDLはまだ前のように同じURLが含まれて生成された:
<soap:address location="http://localhost:8888/MyWSApp/getPerson/"/>
が、それは間違っている、サービスは現在実行されています:また、私は成功せず、サーブレット定義の私のportTypeNameを変更しようとしている
<soap:address location="http://localhost:8888/MyWSApp/service/getPerson/"/>
:
<bean id="personService" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schema" ref="personServiceSchema"/>
<!-- <property name="portTypeName" value="getPerson"/> -->
<property name="portTypeName" value="something/getPerson"/>
<property name="locationUri" value="/getPerson/"/>
<property name="targetNamespace" value="http://www.geonis.com/geonis/delivery_site"/>
</bean>
どうすれば修正できますか?
おかげで... 1)なぜ「何か/ getPerson」に変更portTypeNameを動作しませんでした:
基本的には、URLは角括弧内値を検出しに適応します? (または "ポート部分"とはどういう意味ですか?) 2)しかし、私はspring-wsでwsdlを自動生成します。右のwsdlを生成するソリューションはありません。 – Ziletka
@ziletka私の編集を参照してください。あなたがしたいことを自動的に実行するようにSpring-wsを構成することはできません。代わりに手動でWSDLを編集する必要があります。 –
他の解決策もあります... portTypeNameの代わりにサーブレットの を変更しました。それは私のせいだった。しかし、あなたの答えに感謝します。 –
Ziletka