<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<op:add xmlns:op=“http://act.buaa.edu.cn/add”>
<a>12</a>
<b>45</b>
</op:add >
</env:Body>
</env:Envelope>
在SOAP消息中,绑定操作是需要名称空间的,那操作的名称空间是从哪来的呢?
答:wsdl呀!----那不废话吗?究竟是wsdl中的哪个名称空间呢?
很多人都认为是wsdl的targetNamespace属性,但其实不是。
既然操作需要名称空间,那参数需要名称空间吗?为什么有时候需要,有时候不需要?如果需要那名称空间是什么,跟操作的名称空间什么关系?
答:随便。----这能随便吗?
很多人都认为是操作的名称空间,但其实不是。
-----------------------------------美丽的分割线--------------------------------
操作的名称空间问题
WS-I组织的BP1.1规范限制使用encoded编码方式,只能使用literal编码方式。也就是说只存在两种绑定样式,rpc-literal和document-literal,当然document-literal-wrapped属于document-literal了。
l rpc-literal绑定
WSDL 定义时 soap:body元素添加namespace属性。在Body元素下构造操作时的名称空间就是namespace属性值 。
l document-literal-wrapped绑定
WSDL 定义时 soap:body、soap:header、soap:headerfault、soap:fault元素都不能添加namespace属性。document-literal-wrapped的名称空间来自 wsdl中schema的targetNamespace属性。
-----------------------------------美丽的分割线--------------------------------
参数的名称空间问题。
需不需要完全是根据是根据参数定义所在的Schema的elementFormDefault属性决定,elementFormDefault=”qualified”表示需要名称空间限定,名称空间为Schema的tartNamespace属性。如果elementFormDefault=”unqualified”,默认值也是”unqualified”,就不需要名称空间限定。
参数的名称空间和操作的名称空间没有任何关系。
分享到:
相关推荐
在IT行业中,Web服务(Web Service)...总之,解决Xfire调用Web服务参数传递问题需要对XML序列化、SOAP协议、命名空间、SOAP绑定配置和安全机制有深入理解。通过细心排查和调试,我们一定能找到问题的根源并成功修复。
例如,`SOAPAction`头部字段用于指示所调用的Web服务操作名称。 #### 六、SOAP与HTTP的结合实例 示例1展示了SOAP消息通过HTTP协议发送的具体格式。其中,`POST /StockQuote HTTP/1.1`行指明了请求的方法和资源路径...
其中,`SOAPAction`头部用于指定请求的操作类型,而消息体则包含了具体的请求参数。 #### 六、总结 综上所述,SOAP协议作为一种基于XML的标准化通信协议,通过其封装、编码规则及RPC表示等关键部分,为分布式环境...
SOAP 的语法规则包括 SOAP 消息必须用 XML 来编码、SOAP 消息必须使用 SOAP Envelope 命名空间、SOAP 消息必须使用 SOAP Encoding 命名空间、SOAP 消息不能包含 DTD 引用和 SOAP 消息不能包含 XML 处理指令等。...
例如,SOAP绑定描述了如何将操作转换为SOAP消息。 5. **Service**:服务定义了可以在何处找到服务的端点(也称为服务地址或WS地址),它引用一个或多个绑定,表示服务的不同实例或端口。 ### 示例及元素详解 - **...
1. **服务绑定**:服务绑定定义了客户端和服务间通信的协议、传输方式、编码等参数。WCF提供了多种内置的绑定,例如BasicHttpBinding(用于与SOAP 1.1兼容的HTTP服务)、NetTcpBinding(用于高效、安全的内部网络...
- **其他xmlns**:定义了其他的命名空间,如用于引用外部Schema或SOAP绑定。 ##### 3.3 `message`元素 `message`元素定义了Web服务操作的输入和输出参数。例如: ```xml ``` - **name** 属性:定义了消息...
对于SOAP绑定,此值将确定SOAP操作的行为。 其他注解 * @WebResult:指定WebService操作的返回值类型。 * @WebParam:指定WebService操作的参数类型。 * @WebFault:指定WebService操作的错误信息。 使用这些注解...
2. `<message>` 元素:定义每个消息的部件,包括消息名称、参数和返回类型。 3. `<portType>` 元素:描述一个 Web Service 的接口,定义了可被执行的操作和相关的消息。 4. `<binding>` 元素:定义每个端口的消息...
在创建WSDL(Web服务描述语言)文档的过程中,我们需要理解WSDL的核心概念和步骤,以及如何定义服务的操作、消息和绑定。WSDL是一种基于XML的应用,用于定义Web服务的接口和实现方式,使得客户端能够发现、理解和...
- 使用`soap:operation`和`soap:body`等元素来描述SOAP绑定的具体细节。 ##### 6. `<wsdl:service>` - **作用**:定义了服务本身的信息,包括名称、端口等。 - **内容解析**: - 定义了`HelloService`服务,其中...
- 指定匿名参数名称:指导如何在Web服务方法中使用没有具体名称的参数。 - 指定无输入参数的方法:如何定义一个不接受输入参数的Web服务方法。 - 指定无输出参数的方法:如何定义一个不返回输出参数的Web服务方法。 ...
WSDL文件是一个XML文档,它包含了服务的接口、消息格式、操作、绑定和端点等信息。例如,服务的端点(也称为服务地址或SOAP地址)定义了服务在哪里可以被访问,而操作(Operation)则描述了服务能执行哪些功能。 ...
首先,WSDL文件包含了Web服务的元数据,如服务的命名空间、端点(即服务地址)、操作(方法)和消息类型。当Java应用需要与一个以WSDL发布的Web服务交互时,它通常会使用一种名为“SOAP”(简单对象访问协议)的协议...
文档会详细指定命名空间、操作名称、输入和输出消息的结构,以及使用SOAP 1.1或1.2进行通信的具体细节。 理解WSDL的结构对于开发和消费Web服务至关重要,因为它是服务接口的蓝图,允许客户端程序正确地构造和解析与...
3. `<message>`:描述服务操作的输入和输出参数,每个消息由一个或多个`<part>`组成,每个部分指定一个名称和类型。 4. `<portType>`:定义服务的操作集合,即服务提供的抽象接口,不涉及具体传输协议。 5. `...
- **PortTypes**:定义了服务的操作签名,即操作名称、输入参数和输出参数。 **2. 具体定义** - **Bindings**:将PortTypes中的抽象操作绑定到具体的传输协议和消息格式上,如SOAP over HTTP。 - **Services**:...