package com.jit.common;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class testSoap {
public static void main(String[] args) throws Exception {
//服务的地址
URL wsUrl = new URL("http://172.16.15.109:1010/uiasmag/wsauth/userWSService");
HttpURLConnection conn = (HttpURLConnection) wsUrl.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
OutputStream os = conn.getOutputStream();
//请求体
// String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://ws.itcast.cn/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
// "<soapenv:Body> <q0:sayHello><arg0>aaa</arg0> </q0:sayHello> </soapenv:Body> </soapenv:Envelope>";
String soap =
"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:wss=\"http://wsservice.userInfo.uias.jit.com/\"> " +
" <soapenv:Header/> " +
" <soapenv:Body> " +
" <wss:lockUser> " +
" <!--Optional:--> " +
" <userId>11111</userId> " +
" </wss:lockUser> " +
" </soapenv:Body> " +
"</soapenv:Envelope>";
os.write(soap.getBytes());
InputStream is = conn.getInputStream();
byte[] b = new byte[1024];
int len = 0;
String s = "";
while((len = is.read(b)) != -1){
String ss = new String(b,0,len,"UTF-8");
s += ss;
}
System.out.println(s);
String aaa = print(s);
System.out.println(aaa);
is.close();
os.close();
conn.disconnect();
}
public static String print(String xmlStr){
String rtnString = "";
Document doc;
try {
doc = DocumentHelper.parseText(xmlStr);
Element rootElt = doc.getRootElement(); // 获取根节点
System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称
Iterator body = rootElt.elementIterator("Body");
while (body.hasNext()) {
Element recordEless = (Element) body.next();
Iterator cdGasFyResponse = recordEless.elementIterator("lockUserResponse");
while(cdGasFyResponse.hasNext()){
Element returnValue = (Element)cdGasFyResponse.next();
Iterator returnIt = returnValue.elementIterator("return");
while(returnIt.hasNext()){
Element element1 = (Element)returnIt.next();
rtnString = element1.getTextTrim();
System.out.println(element1.getTextTrim());
}
}
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rtnString;
}
}
相关推荐
.NET Web服务通常基于SOAP(Simple Object Access Protocol)协议,而Java可以通过使用JAX-WS(Java API for XML Web Services)来消费这些服务。 在Java中访问.NET Web服务的第一步是生成客户端代理类。这通常通过...
Java访问.Net Webservice的过程大致分为以下步骤: 1. **创建SOAP请求**:首先,我们需要构建一个符合SOAP规范的XML消息,这个消息包含了调用的Web方法名、参数等信息。例如,如果我们有一个名为`GetGreeting`的...
首先,我们要理解Java和.NET之间的互操作性通常依赖于Web服务(Web Service)标准,如SOAP(Simple Object Access Protocol),它基于XML,允许不同平台的应用程序之间交换数据。WSDL(Web Services Description ...
2. 使用WSDL2Java工具:通过.NET ASMX Web服务的WSDL地址,运行CXF的WSDL2Java命令生成Java客户端代码。这将生成一个服务接口和服务实现类,其中包含了调用Web服务的方法。 3. 编写Java代码:实例化生成的服务实现...
在跨平台的软件开发中,有时我们需要在Java环境中调用.NET Web服务,这通常是通过SOAP(Simple Object Access Protocol)协议实现的。本文将详细介绍如何在Java中调用.NET Web服务,涉及的关键技术包括WSDL(Web ...
- Java客户端通过Apache CXF或其他Java SOAP库(如Axis2)解析.NET服务的WSDL,生成客户端代码,然后调用服务。 开发环境中,使用的是JDK1.6和Eclipse3.6作为Java环境,Visual Studio 2010作为.NET环境。值得注意...
HelloWorld-service.wsdl 文件描述了 Web Services 的服务访问点,而 HelloWorld-binding.wsdl 文件描述了 Web Services 的通信消息的数据结构、每个访问点支持的操作、特定的断口类型的具体协议和数据格式规范的...
总结,无论是在.NET、Java还是使用MS SOAP Toolkit,调用Web服务的核心步骤都包括获取服务的元数据(如WSDL),创建客户端代理,构造请求,发送请求,接收并解析响应。虽然具体实现细节有所不同,但这些技术都致力于...
本示例探讨的主题是“Java调用.NET Web Service”,这涉及到不同技术栈之间的互操作性,主要利用了Java的SOAP(Simple Object Access Protocol)客户端库来与.NET的Web服务进行通信。下面我们将详细解析这一过程。 ...
可以使用`java.net.URL`的`openConnection()`方法,然后设置`HttpsURLConnection`的相关属性,如设置信任所有证书的自定义TrustManager。 5. **调用服务方法**: 通过获取的Java接口,你可以像调用本地方法一样调用...
Java程序调用.NET/C#的Web服务是一种跨平台的交互方式,主要依赖于SOAP(Simple Object Access Protocol)协议,使得不同编程语言开发的应用程序能够相互通信。在本场景中,用户已经提供了一个.NET的Web服务,而我们...
在Java中调用.NET Web Services主要依赖于SOAP(简单对象访问协议)和WSDL(Web服务描述语言)。首先,你需要生成一个Java Web Service,这可以通过JBuilder完成。在JBuilder中,你可以创建一个新的Web服务项目,...
- 在“javadot.doc”文件中,可能会详细描述Java应用程序如何使用JAX-WS调用.NET Web服务的步骤,包括解析WSDL,生成客户端代理类,以及如何通过这些代理类调用服务。 - “Web Service调用方式.doc”可能涵盖了...
在实际应用中,使用这些WS-DL文件时,开发者通常会利用SOAP(Simple Object Access Protocol)客户端库,如Apache CXF、JAX-WS(Java API for XML Web Services)等,将WS-DL文件转换为可执行的代码。这样,开发者就...
【Java 调用 .NET WebService 基础知识】 ...理解 SOAP 协议,以及如何在 Java 中构造和解析 SOAP 消息,是成功调用 .NET WebService 的关键。在实际应用中,确保对错误的处理和代码的可维护性也是十分重要的。
- **检查WSDL文件**:确认WSDL文件中所有引用的XSD文件都能够正确访问。 - **手动调整文件路径**:如果使用本地文件,确保路径正确无误。 **2. 数据类型不匹配** - 在调用过程中,可能会遇到数据类型转换的问题。...
通过HTTP协议和XML文档,Java和.NET应用可以轻松地共享和消费服务,而无需深入理解复杂的Web服务规范,如WSDL和SOAP。 总的来说,这个教程提供了一种实用且灵活的策略,帮助开发者在Java和.NET之间建立有效的SOA互...
总结来说,ASP.NET通过WebService调用Java接口的过程主要包括:部署Java WebService、在.NET项目中添加Web引用、配置项目设置、在代码中实例化并调用服务方法,以及理解背后涉及的SOAP和RMI通信机制。这个过程允许...
在此我用的是Asix框架来解决的,在Asix包下有一个叫作WSDL2Java的类,可用来解析WSDL以生成Java代码供程序员使用,我尝试过用soap来处理Dataset,不过没有成功(浪费了不少时间)
在Java中调用.NET Web服务涉及的技术主要是SOAP(Simple Object Access Protocol)和WS-I(Web Services Interoperability),因为.NET Web服务通常是基于这些标准构建的。为了实现这种跨平台通信,Java开发者需要...