2012-03-08 12 views
1

WSDLからクライアントを生成するためにaxis1ツールを使用しました。私の問題は、WSDL上のホストとは別のホストに接続したいということです。そのように私がやった:Java axis1.Xクライアント変更アドレス

new BobsledWSHostLocator("http://localhost:8731/Bobsled/Core/?wsdl", new QName("http://lint.com/schemas/Bobsled", "BobsledWSHost")); 

しかし、私は、それはまだ私はそれがローカルホストに行く必要があるとき私は...クライアントを生成し、そこからWSDLを持っているアドレスに行くホストとcomunicateしてみてください。

私はさまざまなホストを持つことができるように、図を使ってホストアドレスを変更したかったのです。

私には何が欠けていますか?

答えて

0

これを試してみてください:

BobsledWSHostLocator locator = new BobsledWSHostLocator(); 
BobsledWSHostService service = locator.getBobsledWSHostHttpPort(new URL("http://localhost:8731/Bobsled/Core/?wsdl")); 
+0

私は.getBobsledWSHostHttpPortを持っていませんが、私は他のサービスのために持っています...私はそれをそれぞれに使うべきですか?一度にすべてのポートを変更する方法はありませんか? –

+0

これは、私が私たちのサービスでエンドポイントを設定する方法です... – nwinkler

0

Axisはまた、WebサービスのエンドポイントのURLとあなたのサービスのQName与え構築することができorg.apache.axis.client.Serviceオブジェクトを取るコンストラクタを持っていBindingStubで終わるクラスは、生成されている必要があります。

new BobsledWSHostBindingStub(
    new URL("http://example.com/Bobsled/Core/"), 
    new Service(new QName("http://lint.com/schemas/Bobsled", "BobsledWSHost"))); 

編集:実際nwinklerが述べたget*Portメソッドが内部で使用するのと同じコードです。これは次のようになります。

+0

いいえ、それは... BobsledWSHostLocatorとBobsledWSHost(これはInterfaceです)しか持っていません。 BobsledWSHostLocatorがwsdlocatorを受信できるのであれば、なぜそれがサービスアドレスをlocalhostに変更しないのですか? –

関連する問題