2011-05-09 5 views

답변

0

비동기 SOAP/HTTP 송신자는 기본적으로 동기 SOAP/HTTP 클라이언트와 동일합니다. 단지 응답을 버립니다. 수신자가 메시지를 이해했는지 확인하려면 응답의 HTTP 상태 만 확인하십시오.

비동기 수신기는 기본적으로 요청의 "ReplyTo/Adress"필드에서 보낸 주소를 수신하는 SOAP/HTTP 서버입니다. 메시지를 수신 한 후 "200"상태 코드와 함께 빈 응답을 보냅니다.

보내고받은 메시지는 WS-Addressing SOAP 헤더 필드 인 "MessageID"(요청)와 "RelatesTo"(응답)를 사용하여 상관됩니다.

"최첨단 기술"솔루션에 만족하면 Asynch SOAP 요청을 HTTP를 통한 XML처럼 보내기/받기가 가능합니다. 다음 HTTP 요청은 BPEL 프로세스 "AsynchDummy"에 의해 비동기 요청으로 인식됩니다.

<?xml version="1.0" encoding="UTF-8"?> 
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" env:encodingStyle=""> 
    <env:Header> 
    <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing"> 
     <Address>http://localhost:3333/my/j2ee/servlet</Address> 
     <PortType xmlns:ptns="http://xmlns.oracle.com/AsynchDummy">ptns:AsynchDummyCallback</PortType> 
     <ServiceName xmlns:snns="http://xmlns.oracle.com/AsynchDummy">snns:AsynchDummyCallbackService</ServiceName> 
    </ReplyTo> 
    <MessageID xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing" ans1:rootId="610005" xmlns:ans1="http://schemas.oracle.com/bpel" ans1:parentId="160005" ans1:priority="0">ABC123</MessageID> 
    </env:Header> 
    <env:Body> 
    <AsynchDummyProcessRequest xmlns="http://xmlns.oracle.com/AsynchDummy"> 
     <input>this is the request</input> 
    </AsynchDummyProcessRequest> 
    </env:Body> 
</env:Envelope> 

에의 SOAPAction HTTP 헤더를 설정하는 것을 잊지 마세요 (인용 부호 포함) "시작"AsynchDummy은 JDeveloper를 생성 기본 비동기식 BPEL 프로세스입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap-env:Header xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> 
    <add:RelatesTo>ABC123</add:RelatesTo> 
    <add:MessageID ans1:rootId="" ans1:parentId="" ans1:priority="0" xmlns:ans1="http://schemas.oracle.com/bpel">ABC456</add:MessageID> 
    </soap-env:Header> 
    <soap-env:Body> 
    <AsynchDummyProcessResponse xmlns="http://xmlns.oracle.com/AsynchDummy"> 
     <result>this is the result</result> 
    </AsynchDummyProcessResponse> 
    </soap-env:Body> 
</soap-env:Envelope> 
:

당신은 BPEL 프로세스의 콜백 클라이언트 단계에서 비슷한 메시지를 기대할 수 있습니다

관련 문제