import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpResponseException;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
public class WebServiceUtils {
// public static final String WebServiceNamespace
// ="http://WebXml.com.cn/";//http://webservice.keResource.fai.sysware.com";//地址
// public static final String WebAddress =
// "http://192.168.145.110:80/sysware/services/KeResourceWS?wsdl";//地址
public static Object callWebservice(String WebServiceNamespace, String WebServiceUrl, String method,
String[] params, Object[] values) throws HttpResponseException, IOException, XmlPullParserException {
Object result = null;
SoapObject rpc = new SoapObject(WebServiceNamespace, method);
if (params != null) {
for (int i = 0; i < params.length; i++)
rpc.addProperty(params[i], values[i]);
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
HttpTransportSE ht = new HttpTransportSE(WebServiceUrl, 1000);
ht.debug = false;
String SOAP_ACTION = WebServiceNamespace + method;
ht.call(SOAP_ACTION, envelope);
result = envelope.getResponse();
if (result != null) {
return result;
} else {
return null;
}
}
public static void main(String[] args) {
String nameSp = "http://www.teamcenter.com/webservice";
String webUrl = "http://tshserver:8080/ws";
String method = "createBOMRequest";
String xml = getXmlString("C:\\test1.xml");
String para = "xmlString";
try {
Object resultObject = callWebservice(nameSp,webUrl,method,new String[]{para},new Object[]{xml});
SoapPrimitive result = (SoapPrimitive) resultObject;
System.out.println("result=====" + result);
} catch (IOException | XmlPullParserException e) {
e.printStackTrace();
}
}
public static String getXmlString(String path) {
String xml="";
try {
FileInputStream fis = new FileInputStream(new File(path));
SAXReader reader = new SAXReader();
Document document = reader.read(fis);
xml= document.asXML();
} catch (Exception e) {
e.printStackTrace();
}
return xml;
}
}
分享到:
相关推荐
WebService客户端则用于发起请求并处理来自服务端的响应。 ##### 2. SOAP与XML SOAP(Simple Object Access Protocol)是一种轻量级的协议,用于交换结构化的和自描述的信息。它使用XML作为消息格式的规范,并使用...
使用HttpClient,我们可以构建一个WebService客户端,向Web服务发送SOAP请求并接收响应。 下面是一段简单的示例代码,展示了如何使用HttpClient发送一个POST请求,模拟调用一个SOAP WebService: ```java import ...
本教程将聚焦于如何使用Java语言来编写一个WebService客户端。我们将不涉及过多理论,而是侧重实践,一步步教你如何实现。 首先,理解WebService客户端的基本工作原理是必要的。客户端通常会通过SOAP(Simple ...
4. 调用Web服务方法:现在你可以通过客户端实例调用Web服务的方法了。 ```java Response response = client.yourMethod(param1, param2); ``` 三、测试Web服务客户端 在"**cxfTestClient**"这个文件中,通常包含了...
在Axis2中,我们可以直接构建SOAP消息并发送请求,如下: ```java import org.apache.axis2.AxisFault; import org.apache.axis2.client.ServiceClient; import org.apache.axis2.context.ConfigurationContext; ...
在CXF客户端代码中,你可以通过调用代理类的方法并传入XML字符串作为参数来发送SOAP请求。 同时,描述中还提到“生成了json对象”,这可能意味着服务还支持RESTful API。REST(Representational State Transfer)是...
4. **处理结果**:服务方法的调用结果通常是XML格式的数据,客户端需要解析这些数据,以便进一步处理或显示。 在`WebServiceTest`这个项目中,我们可以预期找到以下组件: - `Program.cs`或类似文件:这是客户端...
这种集成方式使得服务端能够更加便捷地处理和响应客户端请求,提供了强大的灵活性和可扩展性。 【详细知识点】: 1. **Apache CXF**:Apache CXF是一个开源的Web服务框架,它支持多种协议和标准,如SOAP、RESTful...
本篇文章将详细探讨如何使用Retrofit2、OkHttp3和RxJava这三个强大的库来构建一个Android客户端,以实现对SOAP WebService的调用。 首先,我们来看Retrofit2,这是一个由Square公司开发的类型安全的HTTP客户端。...
- `main`方法:这里是程序的入口,它调用了`update`和`getPrice`两个方法,分别用于更新股票价格和获取股票价格。`srvcUrl`参数是Web Service的服务URL,`symbol`代表股票代码,`price`是更新的价格。 - `update...
【Java调用WebService客户端详解】 在Java开发中,与远程服务进行交互是常见的需求,而WebService作为基于标准的跨平台通信方式,提供了多种调用方式。本文将详细讲解如何使用Java来作为客户端调用WebService,主要...
Web服务(WebService)是一种基于标准协议的,可互操作的软件接口,允许不同系统之间进行数据交换和功能调用。在本案例中,我们将重点讨论如何使用Axis框架来调用Web服务并传递参数。 首先,我们需要理解Web服务的...
- 服务器端接收到请求后,解析XML消息,识别出被调用的方法和参数。 - 服务器执行对应的方法,并将结果以XML格式封装成一个新的SOAP响应。 - 最后,服务器将这个SOAP响应通过HTTP回传给客户端,客户端解析XML并...
`sayHello`方法用于处理客户端的请求,并返回响应信息。`Endpoint.publish`方法用于发布服务到指定的URL上。 #### 五、客户端调用 一旦服务发布成功,客户端可以通过生成的客户端代码来调用服务。 ##### 示例代码...
WebService 开发步骤服务端和客户端 在软件开发过程中,WebService 是一种非常重要的技术,它允许不同的系统和应用程序之间进行交互和集成。本文将详细介绍如何使用 MyEclipse 开发一个简单的 WebService,包括...
在`web.xml`中,你需要定义一个`Servlet`来处理JAX-WS请求,如下所示: ```xml <servlet-name>MyUserServlet <servlet-class>com.sun.xml.ws.server.servlet.ServletAdapter</servlet-class> <param-name>...
### Python基于XML-RPC的WebService服务以及在Odoo中的使用 #### XML-RPC简介与Python实现 XML-RPC(XML Remote Procedure Call)是一种轻量级的远程过程调用协议,它利用XML来编码调用数据和结果数据,并通过HTTP...
然后配置Spring Security,确保只有经过验证的请求才能访问Web服务: ```java @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private ...