java SOAPHEADER的web service

所属分类: 网络编程 / JSP编程 阅读数: 331
收藏 0 赞 0 分享
c# JSON返回格式的WEB SERVICEhttps://www.jb51.net/article/16768.htm
我这里是利用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这个文件,定位到
    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
更多精彩内容其他人还在看

张孝祥JAVA全集 Ftp下载[100%能下载]

张孝祥JAVA全集 Ftp下载[100%能下载]
收藏 0 赞 0 分享

JSP一句话木马代码

JSP一句话木马代码
收藏 0 赞 0 分享

写一个对搜索引擎友好的文章SEO分页类

写一个对搜索引擎友好的文章SEO分页类
收藏 0 赞 0 分享

卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!

卖jsp编程技巧的那个垃圾的所有实例的答案全部已收集,现将他人收集的实例答案公布出来,大家鉴赏!
收藏 0 赞 0 分享

ajax+jsp草稿自动保存的实现代码

ajax+jsp草稿自动保存的实现代码
收藏 0 赞 0 分享

一个jsp+AJAX评论系统第1/2页

一个jsp+AJAX评论系统
收藏 0 赞 0 分享

什么是eclipse,eclipse的意思解析

什么是eclipse,eclipse的意思解析
收藏 0 赞 0 分享

经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个

经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个
收藏 0 赞 0 分享

搭建SSH时的思考和遇到的几个问题的解决方法

搭建SSH时的思考和遇到的几个问题的解决方法
收藏 0 赞 0 分享

RMI使用学习 小结

RMI使用学习 小结
收藏 0 赞 0 分享
查看更多