2010-02-24 3 views
4

일반적으로 다음과 같은 XML을 생성하기 위해이C# 웹 서비스에서 비누 대신 soapenv 네임 스페이스를 생성하는 방법은 무엇입니까?

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
<DHeader xmlns="http://www.abc.com" /> 
</soap:Header> 
    <soap:Body> 
    <Response xmlns="http://www.abc.com"> 
     <Result> 
     <ErrorObject ObjectID="string" ErrorCode="" />   
     </Result> 
    </Response> 
    </soap:Body> 
</soap:Envelope> 

같은 XML을 생성하는 C#을 /. NET 웹 서비스를 만들 수있는 방법이 있습니까.

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapv:Header> 
    <DHeader xmlns="http://www.abc.com" /> 
    </soapenv:Header> 
    <soapenv:Body> 
    <Response xmlns="http://www.abc.com"> 
     <Result> 
     <ErrorObject ObjectID="string" ErrorCode="" />   
     </Result> 
    </Response> 
    </soapenv:Body> 
</soapenv:Envelope> 

이렇게하면 .NET 웹 서비스를 사용하는 AXIS 클라이언트에서 발생하는 문제를 해결할 수 있습니다. AXIS는 비누 네임 스페이스를 질식 시키며 soapenv 네임 스페이스가 필요합니다. AXIS 측을 변경하는 것은 불가능합니다.

어떤 생각이나 의견이라도 좋을 것입니다.

정확한 오류는 다음과 같습니다.

line -1: Element [email protected]://www.w3.org/2003/05/soap-envelope is not a valid [email protected]://schemas.xmlsoap.org/soap/envelope/ document or a valid substitution. 

답변

1

soapenv은 네임 스페이스가 아니며 이름 공간 접두사입니다.

접두어가 동일한 네임 스페이스를 참조하는 한 soapsoapenv은 동일한 의미로 사용되며 동일한 의미를 갖습니다.

AXIS의 모든 버전이 접두어를 특별히 처리하기에 너무 심하게 부러지는 것은 거의 없습니다. 다른 문제가 있다고 가정해야합니다. 정확한 오류를 게시하십시오.

+0

그들이 얻고있는 것. 줄 -1 : Element Envelope @ http : //www.w3.org/2003/05/soap-envelope는 유효한 봉투가 아닙니다. http : //schemas.xmlsoap.org/soap/envelope/ 문서 또는 유효한 치환. 또한 접두사 네임 스페이스에 대한 수정에 대해 감사드립니다. – cbg

+1

게시 한 XML에 "w3.org/2003/05/soap-envelope"네임 스페이스가 사용되지 않았습니다. 게시 한 XML로 인해이 오류가 발생하지 않습니다. 여기에 게시 한 XML을 보내보십시오. –

+0

이것은 전혀 가능하지 않다는 것을 의미합니까 ?? –

관련 문제