Web服务响应为HTML而不是SOAP消息

时间:2016-03-01 20:14:37

标签: web-services soap wso2 wso2esb

我正在研究一个wso2场景,我在其中向Web服务发送SOAP消息,然后接收并操纵答案。为此,我有两个Web服务。一个放置在测试环境(1)中,另一个放置在实时环境中(2)。

我无法访问网络服务代码,我只是一个用户。

问题是:

通过 SOAPUI

  • 我可以使用Webservices(1)和(2)中的服务。没错,一切正常。

通过 WSO2

  • 我可以使用webservice(1)中的服务,但当我指向webservice(2)时,我得到一个HTML 403 Forbidden响应而不是SOAP / XML消息。

我是否遗漏了某些内容,或者这可能是对网络服务的错误配置?

按照我的进/出请求:

enter image description here

序列:

<?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>

更新

使用TCPMon和TCPTrace测试后,我得到以下结果:

通过SOAPUi

  • 如果我发送消息SOAPUi - &gt;实时Web服务 - 工作正常!(图片a)
  • 如果我发送消息SOAPUi - &gt; TCPMon / TCPTrace - &gt;实时网络服务 - 403禁止!(图b)

对我来说根本没有意义。我的想法已经不多了。

(a)中

enter image description here

(b)中

enter image description here

2 个答案:

答案 0 :(得分:0)

对于发现此问题相关的人:

问题出在服务器端。服务器拒绝了一些&#34;未知&#34;传入来源的来源。

答案 1 :(得分:-1)

可能会将?wsdl作为后缀添加到网址:http://sample.com/webservice.asmx?wsdl