我需要使用Java来使用PHP(SOAP)创建的Web服务。是否与使用XML内容发布Web服务URL相同,还是需要使用类似下面的代码?
String wsdlURL = "http://cxrus020:8080/HelloWebService/" + "HelloWS?wsdl";
String namespace = "urn:HelloWS/wsdl";
String serviceName = "HelloWS";
QName serviceQN = new QName(namespace, serviceName);
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(new
URL(wsdlURL), serviceQN);
Call call = service.createCall();
call.setPortTypeName(serviceQN);
call.setOperationName(new QName(namespace, "greet"));
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "");
call.addParameter("string_1",serviceQN,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(serviceQN);
Object[] inParams = new Object[]{"weetat is testing"};
String ret = (String) call.invoke(inParams);
System.out.println("ret:" + ret);
答案 0 :(得分:6)
使用Web服务不依赖于WS的实现技术(根据互操作性的定义)。
您可以使用JAX-WS wsimport实用程序生成存根,并像使用Java(或任何其他语言)的Web服务一样使用它们。
请记住,您需要了解的WS是WSDL。