解决方案 »
- java-j2ee的历程?
- 编解码算法题
- acegi 方法拦截问题
- java RMI远程调用(引用外部包)
- hibernate3.2里说的反向集合是什么意思啊。什么是反向集合?什么是非反向集合?请大家给解释一下。顺便举个例子。谢谢
- MyEclipse中的struts标签老是提示unknow tag
- Ibatis 与Spring集成时QueryForList的分页方法报错,其他的queryForList可用
- 安装不了tomcat-5.0.28?
- 打开jboss控制台的时候,提示如下错误,哪位老兄帮忙解决一下?
- 请各位讲一下struts中的各种标签。
- JAVA 怎么实现邮件加密
- 如何实现定时请求WebService接口
应该不是,他说当他们的用户信息发生变化时,我编写的soap就会接收到消息。
可以用axis2直接调用也行,直接在WSDL里面找到地址和方法名参数。
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;
}
他给你的地址打开之后是不是这个。
<?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的
地址打开是这样,我用myEclipse生成就成下面这样了。
这个wsdl没有方法。只有属性。是不是要我按照这个格式给发布一个。