java SOAPHEADER的web service
程序员文章站
2023-12-02 20:10:58
c# json返回格式的web service我这里是利用axis创建类包的,首先下载axis的压缩包,然后解压,把axis放到webapp下面。如果可以运行,就ok了。&...
c# json返回格式的web service
我这里是利用axis创建类包的,首先下载axis的压缩包,然后解压,把axis放到webapp下面。如果可以运行,就ok了。
c#创建的webservice自带的wsdl的,直接可以加上?wsdl访问,然后利用axis生成类:
java -classpath ".;commons-logging.jar;axis.jar;commons-discovery.jar;jaxrpc.jar;wsdl4j.jar;saaj.jar;jaxrpc.jar;mail.jar" org.apache.axis.wsdl.wsdl2java -o "e:\cjjer" http://s:9999/iusers.asmx?wsdl
在目录e:\cjjer下面有产生了一系列的java文件。
然后编译这些java文件,注意,由于这样产生的并没有soapheader的请求,需要自己修改java文件:
打开*soapstub.java这个文件,定位到
soapheaderelement head = new soapheaderelement(new prefixedqname(new javax.xml.namespace.qname("http://www.cjjer.com/webs/", "reqheader")));
head.setactor(null);
try{
head.addchildelement("username").addtextnode("cjjer");
head.addchildelement("password").addtextnode("000000");
head.setmustunderstand(true);
}catch(exception e){
system.out.println(" soapheader exception == ");
e.printstacktrace();
}
_call.addheader(head);
return _call;
这样,就会加上soapheader了。提示类找不到的话请import org.apache.axis.message.*;
最后是编写请求代码了:
如果不发生异常,就ok了,发生异常的话自行处理。
编译:
javac -cp "e:\tomcat6\webapps\axis\web-inf\lib\commons-logging.jar;e:\tomcat6\webapps\axis\web-inf\lib\axis.jar;e:\tomcat6\webapps\axis\web-inf\lib\commons-discovery.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\wsdl4j.jar;e:\tomcat6\webapps\axis\web-inf\lib\saaj.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\mail.jar;" com/cjjer/www/webs/*.java -xlint:unchecked
运行测试:
我这里是利用axis创建类包的,首先下载axis的压缩包,然后解压,把axis放到webapp下面。如果可以运行,就ok了。
c#创建的webservice自带的wsdl的,直接可以加上?wsdl访问,然后利用axis生成类:
java -classpath ".;commons-logging.jar;axis.jar;commons-discovery.jar;jaxrpc.jar;wsdl4j.jar;saaj.jar;jaxrpc.jar;mail.jar" org.apache.axis.wsdl.wsdl2java -o "e:\cjjer" http://s:9999/iusers.asmx?wsdl
然后编译这些java文件,注意,由于这样产生的并没有soapheader的请求,需要自己修改java文件:
打开*soapstub.java这个文件,定位到
protected org.apache.axis.client.call createcall() throws java.rmi.remoteexception
这个方法,然后再return之前写上
soapheaderelement head = new soapheaderelement(new prefixedqname(new javax.xml.namespace.qname("http://www.cjjer.com/webs/", "reqheader")));
head.setactor(null);
try{
head.addchildelement("username").addtextnode("cjjer");
head.addchildelement("password").addtextnode("000000");
head.setmustunderstand(true);
}catch(exception e){
system.out.println(" soapheader exception == ");
e.printstacktrace();
}
_call.addheader(head);
return _call;
这样,就会加上soapheader了。提示类找不到的话请import org.apache.axis.message.*;
最后是编写请求代码了:
import java.io.*;
import java.sql.*;
import java.awt.*;
import javax.xml.namespace.*;
import java.awt.event.*;
import java.net.url;
import org.apache.axis.client.*;
import com.cjjer.www.webs.*;
public class testnet {
// main method
public static void main(string args[]) {
system.out.println("我要进来了,嘎嘎");
try{
string endpoint= "http://s:9999/iusers.asmx";
cjjerlocator locator = new cjjerlocator();//
locator.setmaintainsession(true);
cjjersoap service = locator.getcjjersoap();//获得服务对象
member objm= service.getuser(1);
system.out.println(objm.getname());
}
catch (exception e) {
e.printstacktrace();
}
}
}
import java.sql.*;
import java.awt.*;
import javax.xml.namespace.*;
import java.awt.event.*;
import java.net.url;
import org.apache.axis.client.*;
import com.cjjer.www.webs.*;
public class testnet {
// main method
public static void main(string args[]) {
system.out.println("我要进来了,嘎嘎");
try{
string endpoint= "http://s:9999/iusers.asmx";
cjjerlocator locator = new cjjerlocator();//
locator.setmaintainsession(true);
cjjersoap service = locator.getcjjersoap();//获得服务对象
member objm= service.getuser(1);
system.out.println(objm.getname());
}
catch (exception e) {
e.printstacktrace();
}
}
}
如果不发生异常,就ok了,发生异常的话自行处理。
编译:
javac -cp "e:\tomcat6\webapps\axis\web-inf\lib\commons-logging.jar;e:\tomcat6\webapps\axis\web-inf\lib\axis.jar;e:\tomcat6\webapps\axis\web-inf\lib\commons-discovery.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\wsdl4j.jar;e:\tomcat6\webapps\axis\web-inf\lib\saaj.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\mail.jar;" com/cjjer/www/webs/*.java -xlint:unchecked
运行测试:
java -cp "e:\tomcat6\webapps\axis\web-inf\lib\commons-logging.jar;e:\tomcat6\webapps\axis\web-inf\lib\axis.jar;e:\tomcat6\webapps\axis\web-inf\lib\commons-discovery.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\wsdl4j.jar;e:\tomcat6\webapps\axis\web-inf\lib\saaj.jar;e:\tomcat6\webapps\axis\web-inf\lib\jaxrpc.jar;e:\tomcat6\webapps\axis\web-inf\lib\mail.jar;" testnet