解决方案 »

  1.   

    应该是叫你用soapUi之类的软件,调用下他提供的地址,看下获取的数据是否正确吧
      

  2.   


    应该不是,他说当他们的用户信息发生变化时,我编写的soap就会接收到消息。
      

  3.   

    可怜的娃,直接用eclipse的生成工具生成客户端代码就OK了。webservice肯定是给你一个wsdl啊,要么给你什么。。
    可以用axis2直接调用也行,直接在WSDL里面找到地址和方法名参数。
      

  4.   

    用客户端生成的话会生成很大一堆垃圾JAVA类,你用这个方法直接调用会好点,前提是要导入axis2的包:
    private String sendService(String param, String url, String method) {
    log.info("InvoicePostService: now post to WMS param is :" + param);
    String result="";
    try {
    RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference(url); options.setTo(targetEPR); QName opAddEntry = new QName( SystemConfig.getProperty("service.invoice.qname"), method); Object[] opAddEntryArgs = new Object[] { param }; Class<?>[] classes = new Class[] { String.class }; result = (String) serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]; log.info("The result is :" + result);
    } catch (Exception e) {
    log.error("post  was failed error is :" + ExceptionUtils.getFullStackTrace(e));
    throw new RuntimeException(" post to  was failed error is :"+e.getMessage());
    }
    return result;
    }
      

  5.   

    那他为什么非要说是soap呢,还要给我传数据。我很纳闷他怎么给我传。
      

  6.   


    他给你的地址打开之后是不是这个。
    <?xml version="1.0" encoding="UTF-8" ?>
    <definitions name="FooSample" targetNamespace="http://tempuri.org/wsdl/"
    xmlns:wsdlns="http://tempuri.org/wsdl/" xmlns:typens="http://tempuri.org/xsd"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:stk="http://schemas.microsoft.com/soap-toolkit/wsdl-extension"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
    <schema targetNamespace="http://tempuri.org/xsd" xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" elementFormDefault="qualified">
    </schema>
    </types>
    <message name="Simple.foo">
    <part name="arg" type="xsd:int" />
    </message>
    <message name="Simple.fooResponse">
    <part name="result" type="xsd:int" />
    </message>
    <portType name="SimplePortType">
    <operation name="foo" parameterOrder="arg">
    <input message="wsdlns:Simple.foo" />
    <output message="wsdlns:Simple.fooResponse" />
    </operation>
    </portType>
    <binding name="SimpleBinding" type="wsdlns:SimplePortType">
    <stk:binding preferredEncoding="UTF-8" />
    <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="foo">
    <soap:operation soapAction="http://tempuri.org/action/Simple.foo" />
    <input>
    <soap:body use="encoded" namespace="http://tempuri.org/message/"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </input>
    <output>
    <soap:body use="encoded" namespace="http://tempuri.org/message/"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </output>
    </operation>
    </binding>
    <service name="FOOSAMPLEService">
    <port name="SimplePort" binding="wsdlns:SimpleBinding">
    <soap:address location="http://carlos:8080/FooSample/FooSample.asp" />
    </port>
    </service>
    </definitions>你把里面的地址那些弄出来直接跑就是。如果要生成的话可以用eclipse的
      

  7.   

    SOAP就是webservice的传说协议。。
      

  8.   


    地址打开是这样,我用myEclipse生成就成下面这样了。
      

  9.   

    现在你可以直接用main函数 new 一个UpdateUserCommon跑起来了。这样就OK了,以后在你需要调用它webservice的时候就 new这边 然后调用里面的方法就行了。其实你可以用我上面那种代码比较清爽
      

  10.   


    这个wsdl没有方法。只有属性。是不是要我按照这个格式给发布一个。
      

  11.   

    提供给你wsdl,是要你访问的,访问方式很多,能成功访问就行。
      

  12.   

    wsdl 就是 提供 了 一个 web service接口,,具体业务怎么实现,就看这个wsdl里面的数据了,。。他可以把用户更改的数据传过来了吧 ,,如果 说做同步的话