`
tsinglongwu
  • 浏览: 229606 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Web Service学习笔记(转载)

    博客分类:
  • SOA
阅读更多
    在javax.xml.namespace.QName这个类中,有构造器
QName(String namespaceURI, String localPart)
在WSDL-FIRST的设计模式下(即先设计WSD文件),
第一个参数namespaceURI,等同于wsdl文件中wsdl:definitions 中的targetNamespace;
第二个参数localPart,等同于wsdl文件中wsdl:service中的name,即所要发布的webservice的名称。

下面语句:
static final QName SERVICE_NAME = new QName("http://www.example.org/TestService/",
"SayHelloService");
其中,
"http://www.example.org/TestService/":为命名空间,是唯一的;
"SayHelloService":是wsdl中已经定义的webservice的名称。

Server端有如下语句:
String address = "http://localhost:9090/TestService/SayHello";
        Endpoint.publish(address, implementor);

Endpoint是JAX-WS v2.1 中一个抽象类,javax.xml.ws.Endpoint。EndPoint使用类中的静态方法被创建,同时将web service的实现者和发布地址绑定。

如下语句:
    <wsdl:service name="SayHelloService">
        <wsdl:port name="SayHelloPort" binding="tns:SayHello">
            <soap:address location="http://localhost:9090/Testervice/SayHello"/>
        </wsdl:port>
    </wsdl:service>

这里wsdl:port 将service的“调用函数”和之前定义的SayHello绑定。soap:address location为此webservice需要发布的地址,即server端要发布的地址。

客户端通过wsdl请求web service的整个过程可以理解为,首先在wsdl文件中的命名空间中,找到webservice服务,即找到了服务器端发布此服务的地址。

from:http://nuaaiceberg.spaces.live.com/Blog/cns!41C1B9B2BA8FF4E3!365.entry

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics