日期:2011-06-11  浏览次数:20474 次

概述

试图从Java调用C#编写的Web Service,借用了王咏刚的wsCaller源代码中DynamicInvoker类。

开始不清楚DynamicInvoker类的portName的含义,望文生义,以为是8080之类的端口号,实际上是下面wsdl中的wsdl:port 节点的“name”属性值“ReadWordSoap”:

wsdl提示:

<wsdl:service name="ReadWord">

<documentation xmlns="http://schemas.xmlsoap.org/wsdl/">提供Office文档的有选择性地读取文本服务.</documentation>

<wsdl:port name="ReadWordSoap" binding="tns:ReadWordSoap">

  <soap:address location="http://192.168.1.113/ReadOffice/ReadWord.asmx" />

  </wsdl:port>

  </wsdl:service>

 

需要特别引入的7个jar包如下所示:

Jar

对应的库

用途

Axis.jar

org.apache.axis.*

 

wsdl4j-1.5.1.jar

javax.wsdl.*

wsdl操作

jaxrpc.jar

javax.xml.rpc.*

xml.rpc

commons-discovery-0.2.jar

 

discovery

log4j-1.2.11.jar