我正在处理一个wso2场景,在该场景中,我将SOAP消息发送到web服务,然后接收并操作答案。为此我有两个Web服务。一个放置在测试环境(1)中,另一个放置在现场(2)。作为HTML而不是SOAP消息的Webservice响应
我没有访问web服务代码,我只是一个用户。
的问题是:
通过SOAPUI
- 我能够从Web服务使用的服务(1)和(2)。没有错误,一切正常。
通过WSO2
- 我能够从Web服务使用的服务(1),但是当我点到web服务(2)我得到一个HTML 403禁止响应而不是SOAP/XML消息。
我错过了什么,或者这可能是web服务的配置错误?
关注我的输入/输出请求:
顺序:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="pricing" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
<smooks config-key="smooks-csv.xml">
<input type="text"/>
<output type="xml"/>
</smooks>
<iterate expression="//product" id="iterateXML" sequential="true"
xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd">
<target>
<sequence>
<payloadFactory media-type="xml">
<format>
<xyz xmlns="http://tempuri.org/">
<safeKey>$6</safeKey>
<storeId>$5</storeId>
<articleId>$1</articleId>
<barcode/>
<sku>$2</sku>
<price>$3</price>
<discount>$4</discount>
</xyz>
</format>
<args>
<arg evaluator="xml" expression="//articleId"/>
<arg evaluator="xml" expression="//sku"/>
<arg evaluator="xml" expression="//price"/>
<arg evaluator="xml" expression="//discount"/>
<arg evaluator="xml" expression="//storeId"/>
<arg evaluator="xml" expression="//key"/>
</args>
</payloadFactory>
<in>
<header name="Action" scope="default" value="http://tempuri.org/xyz"/>
<send>
<endpoint>
<recipientlist>
<endpoint key="PS_PRICING"/>
<endpoint key="fileSave"/>
</recipientlist>
</endpoint>
</send>
<drop/>
</in>
<out>
<send/>
</out>
<log level="full" separator=";">
<property expression="*" name="ResponsePriceUpdate"/>
</log>
</sequence>
</target>
</iterate>
</sequence>
UPDATE:
使用TCPMon的和TCPTrace测试后,我得到了以下内容:
通过SOAPUi
- 如果我发送消息SOAPUi - > Live Webservice - 工作正常!(图片a)
- 如果我发送消息SOAPUi - > TCPMon/TCPTrace - > Live Webservice - 403 Forbidden!(图片b)
对我来说这没有任何意义。我正在用尽想法。
(一)
(B)
当您使用SOAPUI和使用WSO2 ESB时,可以使用tcpmon并比较请求/响应SOAP消息。也许你可以找到差异并修复... –
屏幕截图中缺少最重要的东西(从服务器返回的HTML主体)。 –
@AydinK。你可以在截图中看到html正文的开始。我想最重要的事情(标题)是可见的。 –