0

次の URL から MyService (AXIS 1.4 サービス) を利用できます。

curl http://localhost:9999/prefix/services/MyService?wsdl

それをブラウザのクエリ行に入れると、XML WSDL が戻ってきました。

問題は、コードでどの URL を使用して MyService に接続し、そこで特定のメソッドを呼び出す必要があるかということです。

これは私が今持っている接続するための私のコードです:

InterfacePortType_Stub stub 
                              = (InterfacePortType_Stub) myService.getPort();

stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, 
    "http://localhost:9999/prefix/services/MyService");

this.port = stub;

final MyResponse myResponse = port.myMethod(myRequest);

なので、**http://localhost:9999/prefix/services/MyService**文字列を使って接続します。しかし、うまくいきません - myResponse.status = fail.

生成されたファイルの上部に、次のようなヘッダーがあります。

// This class was generated by the JAXRPC SI, do not edit.
// Contents subject to change without notice.
// JAX-RPC Standard Implementation (1.1.2_01, build R40)
// Generated source version: 1.1.2
4

1 に答える 1

1

Axis サービスを呼び出すには、まず正しく初期化する必要があります。コードは次のようになります。

//Your service interface.
InterfacePortTypeService proxy = null;

//Create a locator instance from Axis generated class.
InterfacePortTypeLocator locator = new InterfacePortTypeLocator();

//Get your service from locator.
proxy = locator.getInterfacePortType(new URL("http://localhost:9999/prefix/services/MyService"));

//Call your methods;
proxy.someMethod();

生成されたすべてのクラスの名前がわからないため、これはAxisサービスを初期化する方法の例にすぎません。

于 2012-09-27T17:48:11.457 に答える