我正在尝试从Websphere Portal服务器调用Web服务,但是我注意到SOAP消息的一个非常奇怪的行为。
在我发送的请求消息中,没有标题存在,而在生产者收到的请求中,添加了额外的标题,如日期时区语言环境和类似的东西。这最初导致了一些问题,但后者生产者设法绕过标题,所以现在一切都很好。但我只是想知道为什么它们被添加到门户中并且可以被禁用。
我正在使用JAX RPC,
这是我在发送请求之前在我的末尾打印时收到的消息
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
这是在制作人端收到的消息。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<InternationalizationContext soapenv:mustUnderstand="0" xmlns="http://www.ibm.com/webservices/InternationalizationContext">
<Locales xmlns="">
<Locale>
<LanguageCode>en</LanguageCode>
<CountryCode>US</CountryCode>
</Locale>
<Locale>
<LanguageCode>en</LanguageCode>
</Locale>
</Locales>
<TimeZoneId xmlns="">GMT</TimeZoneId>
</InternationalizationContext>
</soapenv:Header>
<soapenv:Body>
此致 Snehan Solomon
答案 0 :(得分:0)
此标头由WebSphere中的internationalization service生成。可以完全禁用该服务,但Portal服务器可能需要它。很可能还有一种方法可以禁用给定JAX-RPC请求的国际化上下文的传播,但我没有找到任何文档。