java SOAPHEADER的web service

c# JSON返回格式的WEB SERVICEhttp://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

(0)

相关推荐

  • java SOAPHEADER的web service

    c# JSON返回格式的WEB SERVICEhttp://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;jaxrp

  • 简单Web service 身份验证解决方案

    软件环境:Web服务程序部署在分布于各地的工厂服务器,这些服务器位于内网之中,没有固定外网IP,且不能通过外网进行访问.调用这些Web服务的是一台连接至internet的WEB服务器,该WEB服务器通过VPN与各个工厂的服务器相连. 解决方案一:通过SOAP Header传递用户名和密码. 1. 首先需要在服务中定义一个从 SOAPHeader 派生的类,表示传入 SOAP 标头的数据. 复制代码 代码如下: public class CredentialSoapHeader : System.

  • XFire构建web service客户端的五种方式

    这里并未涉及到JSR 181 Annotations 的相关应用,具体的三种方式如下 ① 通过WSDL地址来创建动态客户端 ② 通过服务端提供的接口来创建客户端 ③ 使用Ant通过WSDL文件来生成客户端 第一种方式:通过WSDL地址来创建动态客户端 package com.jadyer.client; import java.net.MalformedURLException; import java.net.URL; import org.codehaus.xfire.client.Clie

  • android调用web service(cxf)实例应用详解

    Google为ndroid平台开发Web Service提供了支持,提供了Ksoap2-android相关架包 1.下载该夹包可以直接登录http://code.google.com/p/ksoap2-android/,现在该站点已经提供了直接的下载,只要点击下载链接就可以下载了: 我现在的是ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar 2.好了,现在我们就可以进行新建项目来进行测试了,首先我们先建立java服务端,这里的一些前期

  • java selenium 常见web UI 元素操作及API使用

    本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录 链接(link) 输入框 textbox 按钮(Button) 下拉选择框(Select) 单选按钮(Radio Button) 多选框 check box 链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素

  • asp.net基于Web Service实现远程上传图片的方法

    本文实例讲述了asp.net基于Web Service实现远程上传图片的方法.分享给大家供大家参考,具体如下: 页面调用代码: 前提添加Web 引用 HttpFileCollection files = HttpContext.Current.Request.Files; string filePath = files[0].FileName; string fileName = filePath.Substring(filePath.LastIndexOf("//") + 1); b

  • C#使用PHP服务端的Web Service通信实例

    注:本例中构建Web Service采用SOAP方式,通过php插件NuSoap来搭建SOAP服务器. 复制代码 代码如下: <?require_once("lib/nusoap.php"); //调用NuSoap $server = new soap_server(); //创建soap服务端$server->configureWSDL("login_service"); //配置WSDL$namespace = "http://www.ab

  • PHP采用XML-RPC构造Web Service实例教程

    一.概述: 目前进行Web Service通信有两种协议标准,一种是XML-RPC,另外一种是SOAP.XML-RPC比较简单,出现时间比较早,SOAP比较复杂,主要是一些需要稳定.健壮.安全并且复杂交互的时候使用. PHP自身就集成了XML-RPC和SOAP两种协议的访问,都是集中在xmlrpc扩展当中.另外,在PHP的PEAR中,不管是PHP 4还是PHP 5,都已经默认集成了XML-RPC扩展,而且该扩展跟xmlrpc扩展无关,能够独立实现XML-RPC的协议交互,如果没有xmlrpc扩展

  • Web Service 运行原理详细介绍

    利用清明小假期,温习了一遍Web Service的相关内容,对其工作原理进行了简要总结.以供有需求的朋友和自己日后参考.文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉. Web服务中,我们应该首先了解相关的术语含义:WSDL.UDDI....相关术语方面的介绍在此不再赘述,重点放在原理上. 在Web服务中,存在三个角色:服务提供者.服务请求者和服务中介,三者之间的关系如图1-1所示 实现一个完整的Web服务包括以下步骤: ◆ Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过

  • Spring boot 整合CXF开发web service示例

    前言 说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如银行.航空公司的机票查询接口等. 目前就遇到了这种情况,需要在系统中查询第三方提供的soap web service接口,也就是说要将它整合进现有的系统当中. spring整合CXF本来十分简单,但是因为使用了Spring boot,不想用以前xml一堆配置的方式,那么能否按照Spring boot的

随机推荐