2011-09-30 6 views
3

는 다음과 같은 수술을한다고 가정던져 예외

void AddCustomer(Customer) 

(즉, 입력없이 출력으로 고객 대상)이없는 WS-I BP 1.1을 준수하는

단방향 작업 [1]에 대한 오류 메시지를 정의 할 수 있습니다. 그러나 예를 들어 고객이 복제본 인 경우를 대비하여 예외를 throw하려고 할 수 있습니다. 어떻게 이것을 달성 할 수 있습니까? 조작이 성공했음을 나타내는 빈 응답으로 요청/응답으로 조작을 정의 하시겠습니까? 제 의견으로는 그다지 ... 어쩌면 다른 방법을 알고 있습니까? 내 말은 : 자바/.NET 프로그램 내에서 여전히 무효-방법에 대해서도 예외를 던질 수 있도록하려면 ...

예 : AddCustomerResponse 빈 순서가 될 것

<operation name="AddCustomer"> 
    <input message="tns:AddCustomerRequest"/> 
    <output message="tns:AddCustomerResponse"/> 
    <fault name="DuplicateCustomer" message="tns:DuplicateFault"/> 
</operation> 

.

[1] http://www.w3.org/TR/wsdl#_porttypes

답변

0

1은 WSDL 사양에 따라 이에 대한 해결책이 없다.

0

작업 중에 출력 메시지를 정의 할 필요는 없습니다. 이 경우 작업은 입력 및 오류 메시지 만있을 수 있습니다. 이

<operation name="AddCustomer"> 
    <input message="tns:AddCustomerRequest"/> 
    <fault name="DuplicateCustomer" message="tns:DuplicateFault"/> 
</operation> 

처럼하지만 그것이 request-response 작동 될 것이라는 사실을 변경하지 않습니다. 이 시나리오에서 달성 할 수있는 최선입니다.

wsdl 사양에서는 단방향 작업 (비 정기적이라 할지라도)에 대한 비누 응답을 허용하지 않습니다.

+0

WS-I BP 1.1을 준수하려면 출력 요소가없는 경우 오류 요소를 가질 수 없습니다. 참조 문헌 [1]을 참조하십시오. – nize

+0

내가 언급 한 것을 찾을 수 없으므로 참조 된 링크의 특정 헤더를 가리킬 수 있습니까 –