zoukankan      html  css  js  c++  java
  • java webservice 开发总结

    webservice 开发总结

    环境:服务端是.NETASMX,客户端为JAVA  AXIS1.4

     

    方式1:使用call.invoke  直接调用WSDL,缺点:麻烦,不推荐……特别是JAVA调用.NETWS时,会有不少的问题需要解决。

     

     

    String endpoint = "http://www.autobao.com/vin/services/VinService?wsdl";

           endpoint = "http://203.156.207.216:81/webService/PJCSService.asmx?WSDL";

           Service service = new Service();

           Call call = (Call) service.createCall();

           call.setTargetEndpointAddress(new java.net.URL(endpoint));  

           String namespace = "http://tempuri.org/";

           call.setSOAPActionURI("http://tempuri.org/GetCXInfoByVIN");

           call.setReturnType(XMLType.XSD_STRING);

           //         call.setOperationStyle("wrapped");

           //         call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,Boolean.FALSE);

           call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,

                  Boolean.FALSE);

     

           call.setEncodingStyle(null);

           QName q = new QName(namespace, "GetCXInfoByVIN");

           call.setOperationName(q);// LSJW26H35BS047598   

           call.addParameter(new QName(namespace, "vin"),

                   org.apache.axis.encoding.XMLType.XSD_STRING,

                  javax.xml.rpc.ParameterMode.IN);

           // call.setReturnClass(org.w3c.dom.Element.class);

           Object obj = call.invoke(new Object[] { "LSJW26H35BS147598" });// LSJW26H35BS147598

     

    方式2:生成测试STUB……此种方法更快捷。如果用.NET开发WS客户端,就是用的这种方式……

     

    Myeclipse>run as >open run diaglog >运行org.apache.axis.wsdl.WSDL2Java  ,参数

    -o %Output_Path% -t -p packagex  http://203.156.207.216:81/webService/PJCSService.asmx?WSDL

     

    注:-t, --testCase…… ,不加-O参数,默认输出到项目目录下。

     

     

    然后:  贴代码

    com.xxxxx.ws.client.PJCSServiceSoap_BindingStubbinding;

                

                    binding =(com.xxxxx.ws.client.PJCSServiceSoap_BindingStub)

                                  newcom.xxxxx.ws.client.PJCSServiceLocator().getPJCSServiceSoap();

                 

                // Time out after a minute

               binding.setTimeout(10000);

     

                // Test operation

                java.lang.String[]value = null;

                value = binding.getCXInfoByVIN("WBABU31098LH65425");

     

     

    ***********开发WEB SERVICE相关工具

    WEB SERVICE测试工具Storm……。

    Storm是一款用于测试Web服务的免费并且开源的工具。是用F#编写…………可以调用WEVSEERVICE,输入参数,并可以看到发出的XML和返回的XML..

     

    抓包工具smsniff.exe

    可以抓取发出的SO CKET包。除了可以看到发出的XML,更可以看到全面的SOCKET信息。

  • 相关阅读:
    web服务器的设置
    java数字图像处理常用算法(转)
    Delphi 7.0常用函数速查手册
    直方图均衡子函数
    Delphi6/7 中XML 文档的应用
    区域增长算法
    Java中的异常栈轨迹和异常链
    Arrays类和Collections的运用
    Java中内部类对象的创建以及hook机制
    Java中的容器
  • 原文地址:https://www.cnblogs.com/attilax/p/15200014.html
Copyright © 2011-2022 走看看