有一个名为" HelloWorld"在下面的代码中显示的链接上。如何使用下面的代码调用此api。 api没有参数。
该服务已存在于所显示的网址上。我需要在下面的代码中添加什么:
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");
}
}
答案 0 :(得分:0)
您的网址建议您指向wsdl文档,而不是实际服务。很可能您的服务位于相同的网址下,但没有?wsdl
足够的数据。
据说使用普通URL
类调用SOAP Web服务需要很少的额外步骤。但这绝对是可能的,毕竟这是一个普通的HTTP协议。
您需要XML格式的SOAP请求,包括SOAP Envelope。这可能是最复杂的部分(例如:Sending a SOAP request to a Web Service via URLConnection):
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
,您可以获取回复。