2010-07-30 4 views
0

Мне нужно уточнить, что именно точно запрашивает запрос SOAP в отношении веб-службы ASMX .Net 3.5. Вот пример запроса:Запрос пространства имен SOAP-запроса

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dp="http://www.datapower.com/schemas/management"> 
<soapenv:Body> 
<spml:addRequest requestID="string" executionMode="synchronous" xmlns:spml="spmlnamespace"> 
    <spml:psoID ID="23099469" targetID="string" /> 
    <spml:data> 
     <spml:attr name='groupId'> 
     <spml:value>111111</spml:value> 
     </spml:attr> 
     <spml:attr name='mdn'> 
     <spml:value>5555555555</spml:value> 
     </spml:attr> 
     <spml:attr name='serviceId'> 
     <spml:value>SDCAT1</spml:value> 
     </spml:attr> 
    </spml:data> 
</spml:addRequest> 
</soapenv:Body> 
</soapenv:Envelope> 

Означает ли это, что мой метод ASMX веб-сервис должен быть назван «addRequest»? Означает ли это также, что этот метод должен принимать два параметра: первый тип «psoID» и второй тип «данные», как определено в пространстве имен spml?

+0

Вы пытаетесь перепроектировать WSDL? –

+0

Да, в основном. Мне предоставлен WSDL, но я не могу генерировать прокси-классы с помощью wsdl.exe из-за ошибки в инструменте, которая приводит к сбою, если сложный тип содержит последовательность сложных типов. –

+1

Вы уверены, что это ошибка в WSDL.exe, а не в дерьме WSDL, какая у вас ошибка? Возможно, вам лучше разместить раздел wsdl, который отключит wsdl.exe, и, возможно, мы сможем решить, в чем проблема. –

ответ

0

Оказалось, что я смог использовать средство wsdl.exe для создания прокси-классов: 1) замены операторов «import» операторами «include» и 2) объединения первого и второго файлов xsd в один файл/Пространство имен. Спасибо за ввод всех.

+0

Вы также должны попытаться не редактировать файл, а передать все пути к файлу в командной строке: 'wsdl.exe main.wsdl sub.wsdl main.xsd sub.xsd' –

Смежные вопросы