При определении части сообщения (wsdl: part) можно использовать атрибут типа сообщения 'type' для ссылки на wsdl: fault? - PullRequest
0 голосов
/ 12 июня 2009

Я пытаюсь использовать сторонний WSDL, используя клиентскую муравьиную задачу Weblogic 10.3 (которая включает wsimport). При этом я получаю следующую ошибку:

[clientgen] [ОШИБКА] в сообщении «JobSubmissionErrorFault», часть «исключение» должно указывать атрибут «элемент»

Ниже приведено подмножество WSDL, которое я пытаюсь использовать (имена были изменены, чтобы защитить невинных)

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
              xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"                
              xmlns:asjx="urn:XXXXX:XML:AAA:2006/01:Types"
              xmlns:tns="urn:XXXXX:Central:2006/01:AAAService"
              targetNamespace="urn:XXXXX:Central:2006/01:AAAService">
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
            targetNamespace="urn:XXXXX:XML:AAA:2006/01:Types">

  <xsd:element name="SubmitRequest">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Type" type="xsd:string" form="unqualified"/>
        <xsd:element name="Definition" type="xsd:string" form="unqualified"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="SubmitResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="JobResult" type="asjx:JobResultType" form="unqualified"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="JobSubmissionErrorFaultType">
    <xsd:sequence>
      <xsd:element name="Detail" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>

</xsd:schema>

Допустим ли этот WSDL? Можно ли использовать wsdl: part 'type', если рассматриваемый элемент является wsdl: fault? Я посмотрел на спецификации и немного запутался.

Глядя на эту ссылку кажется, что использование типа недопустимо

Следующая ссылка не уточняет, является ли она действительной или нет

И, наконец, следующая ошибка метро ссылка (Weblogic 10.3 использовала метро под обложками) не подтверждает, является ли это проблемой или нет (она все еще обсуждается).

Если кто-то может подтвердить раз и навсегда, если для типа wsdl: fault допустимо использование type, это будет очень цениться.

1 Ответ

1 голос
/ 15 сентября 2009

Зависит от того, кого вы спрашиваете. В соответствии с W3 все в порядке, но люди WS-I просят отличия.

WS-I: (BP2113) Элементы soapbind: header, soapbind: headerfault или soapbind: fault относятся к элементу (ам) wsd: part, которые не определены с использованием только атрибута "element".

...