当前位置: 首页 > 图文教程 > 网络编程 > JSP > java SOAPHEADER的web service

JSP
使用Eclipse开发Jsp
Freebsd+Resin成功建立支持jsp平台
入门教程:JSP标准模板库(上)
入门教程:JSP标准模板库(下)
Struts学习傻瓜式入门篇
新手入门经典:Jsp环境配置
Apache服务器之JSP概述篇
配置Eclpise+tomcat并实现JSP的编写与部署
zip版本Tomcat配置新手入门
Windows2000下Apache2.0.46与Tomcat5.0.2整合配置方法
利用JSP 2.0开发Web应用程序
初学Java所需要注意的几点
整合Tomcat5和IIS5 及正常打开jsp
WIN98/2000下的jsp服务器
配置整合Win+Apache+PHP+MySQL+Tcomcat(或Resin)完全手册
Windows2000下整合Mysql4.0.13与Tomcat4.1.24搭建Jsp环境
JSP实践要点
Servlet/JSP配置详解
使用lomboz调试JSP
Win2000安装Apache+ApacheJserv+gnujsp之完全攻略

JSP 中的 java SOAPHEADER的web service


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 73 ::
收藏到网摘: n/a

在业务中需要java代码的客户端请求,注意到需要发送SOAPHEADER,这里写上方案。 c# JSON返回格式的WEB SERVICEhttp://www.ruanchen.com/".;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这个文件,定位到
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();
}

}
}

如果不发生异常,就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

评论 (0) All

登陆 还没注册?