Web services WS02:从ESB调用外部天气SOAP Web服务

Web services WS02:从ESB调用外部天气SOAP Web服务,web-services,soap,wsdl,wso2,wso2esb,Web Services,Soap,Wsdl,Wso2,Wso2esb,我尝试使用WSO2 ESB(版本4.8.1)调用外部托管的SOAP web服务。为了进行尝试,我使用了一个用于天气信息的公共web服务(),更具体地说是GetWeatherInformation操作 我已经使用soapUI工具成功地使用了web服务 我是SOAP和ESB的新手,所以我试着关注一些博客条目,但我不断地出错。我尝试使用代理服务、有效负载工厂和发送,但仍然没有成功。谁能帮我设置一下吗 谢谢它可以与部署在WSO2 ESB v4.8.1中的这个代理配置一起工作: <?xml vers

我尝试使用WSO2 ESB(版本4.8.1)调用外部托管的SOAP web服务。为了进行尝试,我使用了一个用于天气信息的公共web服务(),更具体地说是GetWeatherInformation操作

我已经使用soapUI工具成功地使用了web服务

我是SOAP和ESB的新手,所以我试着关注一些博客条目,但我不断地出错。我尝试使用代理服务、有效负载工厂和发送,但仍然没有成功。谁能帮我设置一下吗


谢谢

它可以与部署在WSO2 ESB v4.8.1中的这个代理配置一起工作:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="testws3"
       transports="https http"
       startOnLoad="true"
       trace="disable">
   <target>
      <endpoint>
         <wsdl service="Weather"
               port="WeatherSoap12"
               uri="http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL"/>
      </endpoint>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <publishWSDL uri="http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL"/>
</proxy>

下面是一个调用GetWeatherInformation的示例API:

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse"
     name="testws3api"
     context="/testws3api">
   <resource methods="GET" url-mapping="/GetWeatherInformation">
      <inSequence>
         <payloadFactory media-type="xml">
            <format>
               <GetWeatherInformation xmlns="http://ws.cdyne.com/WeatherWS/"/>
            </format>
            <args/>
         </payloadFactory>
         <send>
            <endpoint>
               <address uri="http://wsf.cdyne.com/WeatherWS/Weather.asmx" format="soap11"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </resource>
</api>


(使用SoapUI或在internet浏览器中键入此地址),您将从Weather WS返回XML响应。我们需要了解您遇到的错误,以帮助您:您能否向我们展示堆栈跟踪和代理配置的副本(WSO2 ESB内的代理服务)?我实际上设法使用了代理,但不得不按如下方式发布WSDL:“format=“soap12”/>我可以从API而不是代理执行类似的操作吗?我想通过API专门调用GetWeatherInformation操作,但我没有管理。我怎么做?