0

以下のコードに示すリンクに「HelloWorld」という API があります。以下のコードを使用してこの API を呼び出すにはどうすればよいですか。API はパラメーターを取りません。

このサービスは、表示されている URL に既に存在します。以下のコードに何を追加する必要がありますか。

import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class apiHelloWorld {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://project.url.com/service.asmx?wsdl");

    }
}
4

1 に答える 1

0

URLは、実際のサービスではなく、ほとんどの場合、サービスは同じURLの下にありますが、十分ではありませ?wsdlん)。

URLとはいえ、プレーンクラスを使用してSOAP Webサービスを呼び出すには、いくつかの追加手順が必要です。しかし、それは絶対に可能です。結局のところ、これは単純なHTTPプロトコルです。

SOAPエンベロープを含むXML形式のSOAPリクエストが必要です。これは最も複雑な部分である可能性があります(例:URLConnectionを介したWebサービスへのSOAPリクエストの送信):

String soapXml =   //...;
java.net.URLConnection conn = new URL("http://project.url.com/service.asmx").openConnection();
conn.setRequestProperty("SOAPAction", "");
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(soapXml);
wr.flush();

BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

読むrdことで、応答を取得できます。

于 2013-01-17T17:53:58.820 に答える