2011-10-10 3 views
1

나는 문제가있다. Axis 클라이언트가 호출하는 .NET SOAP 웹 서비스가 있습니다.헤더에 SoapAction이없는 SOAP 요청 처리

헤더 정보에 SOAP 동작이 없기 때문에 IIS에서 방금 500 오류가 발생합니다. 헤더 유효성 검사를 사용하지 못하도록 클라이언트에서 말하고 있지만 .NET에서이 작업을 수행하는 방법을 잘 모릅니다. 내가 생각할 수있는 유일한 방법은 수동으로 요청을 캡처하고 구문 분석하는 방법을 작성하는 것인데, 이는 고통스럽게 보입니다. 어떤 도움을 주시면 감사하겠습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<soapenv:Body> 
... 
</soapenv:Body> 
POST /Services/MyService.asmx HTTP/1.0 
Content-Type: text/xml; charset=utf-8 
Accept: application/soap+xml, application/dime, multipart/related, text/* 
User-Agent: Axis/1.2.1 
Host: 1.2.3.4:55 
Cache-Control: no-cache 
Pragma: no-cache 
SOAPAction: "" 
Content-Length: 1465 
+0

soapaction이 WSDL 바인딩에서 올바르게 채워 졌습니까? – andygavin

답변

2

해결했습니다. 추가 할 내용 :

[SoapDocumentService(RoutingStyle=SoapServiceRoutingStyle.RequestElement)] 

서비스 정의.