2016-11-15 7 views
0

私はMuleプロジェクトを作成したいと考えています。このプロジェクトにSOAPメッセージ(たとえばsoapUIを介して)を送信し、そのメッセージを外部Webサービスにリダイレクトすることです。 私はドキュメントを読んでいますが、私はこの簡単な作業を行う方法を理解できません。メッセージを外部WebサービスにリダイレクトするMuleプロジェクトv3.8の作成方法は?

誰かが私を助けることができれば幸いです。私はMule v3.8を使用しています。

ありがとうございます。一般的に

答えて

-1


はあなたが使用することができます。
HTTPエンドポイント(要求応答) - >
CXFコンポーネント(あなたのプロキシサービスのため、オプション) - >
Webサービスコンシューマ(必要なサービスを呼び出すために)

私があまり明確でない場合は、このプロジェクトを構築する際にお手伝いします。

更新
は、私は単純なサービスを作り、今、私たちは、WSDLがあります

<wsdl:definitions name="SimpleServiceService" targetNamespace="http://simple/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://simple/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <wsdl:types> 
     <xs:schema elementFormDefault="unqualified" targetNamespace="http://simple/" version="1.0" xmlns:tns="http://simple/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
      <xs:element name="doSomething" type="tns:doSomething"/> 
      <xs:element name="doSomethingResponse" type="tns:doSomethingResponse"/> 
      <xs:complexType name="doSomething"> 
       <xs:sequence> 
        <xs:element minOccurs="0" name="Input" type="xs:string"/> 
       </xs:sequence> 
      </xs:complexType> 
      <xs:complexType name="doSomethingResponse"> 
       <xs:sequence> 
        <xs:element minOccurs="0" name="return" type="xs:string"/> 
       </xs:sequence> 
      </xs:complexType> 
     </xs:schema> 
    </wsdl:types> 
    <wsdl:message name="doSomethingResponse"> 
     <wsdl:part element="tns:doSomethingResponse" name="parameters"/> 
    </wsdl:message> 
    <wsdl:message name="doSomething"> 
     <wsdl:part element="tns:doSomething" name="parameters"/> 
    </wsdl:message> 
    <wsdl:portType name="SimpleService"> 
     <wsdl:operation name="doSomething"> 
      <wsdl:input message="tns:doSomething" name="doSomething"/> 
      <wsdl:output message="tns:doSomethingResponse" name="doSomethingResponse"/> 
     </wsdl:operation> 
    </wsdl:portType> 
    <wsdl:binding name="SimpleServiceServiceSoapBinding" type="tns:SimpleService"> 
     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> 
     <wsdl:operation name="doSomething"> 
      <soap:operation soapAction="" style="document"/> 
      <wsdl:input name="doSomething"> 
       <soap:body use="literal"/> 
      </wsdl:input> 
      <wsdl:output name="doSomethingResponse"> 
       <soap:body use="literal"/> 
      </wsdl:output> 
     </wsdl:operation> 
    </wsdl:binding> 
    <wsdl:service name="SimpleServiceService"> 
     <wsdl:port binding="tns:SimpleServiceServiceSoapBinding" name="SimpleServicePort"> 
      <soap:address location="http://exoldy-simple-mule-project.cloudhub.io/service"/> 
     </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 

次我々は

<mule xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:ws="http://www.mulesoft.org/schema/mule/ws" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/ws http://www.mulesoft.org/schema/mule/ws/current/mule-ws.xsd 
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd 
http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd"> 

    <ws:consumer-config name="Web_Service_Consumer" service="SimpleServiceService" port="SimpleServicePort" serviceAddress="http://exoldy-simple-mule-project.cloudhub.io/service" wsdlLocation="http://exoldy-simple-mule-project.cloudhub.io/service?wsdl" doc:name="Web Service Consumer"/> 
    <http:listener-config name="HTTP_Listener_Configuration1" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 

    <flow name="external" initialState="started"> 
     <http:listener config-ref="HTTP_Listener_Configuration1" path="service" doc:name="Receive HTTP request" doc:description="This endpoint receives an HTTP message."/> 
     <logger message="#[flow.name]" level="INFO" doc:name="Logger"/> 
     <cxf:proxy-service payload="body" doc:name="CXF" namespace="http://simple/" service="SimpleServiceService" wsdlLocation="http://exoldy-simple-mule-project.cloudhub.io/service?wsdl"/> 
     <ws:consumer config-ref="Web_Service_Consumer" operation="doSomething" doc:name="Web Service Consumer"/> 
    </flow> 
</mule> 

ミュール上に実装されたプロキシサービスを使用して、このサービスと対話する必要があります今はすべてがうまくいく、少なくとも私のために働く)

+0

で説明されているようにWeb Service Consumerコネクタを使用できます。少し説明していただければ幸いです。私はドキュメントを読んでいるが、動作させることはできない。 ありがとうございました –

+0

@JuanAndrésLaCruzメッセージを更新しました。あなたにとって役立つことを願っています。 –

+0

優秀!それは働いている!ありがとう! –