Как изменить способ отправки Coldfusion мыльной реакции? - PullRequest
1 голос
/ 19 июля 2011

У меня есть веб-служба coldfusion, которая принимает данные XML и отправляет подтверждение.

Когда есть ошибка, текущий код возвращает мне ответ мыла как

<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>
      <ns1:updatePendingTicketsResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://v02.intouchdataservice">
         <updatePendingTicketsReturn xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><![CDATA[<fault>
<faultcode>TO BE DEFINED IF NEEDED</faultcode>
<faultstring >Content is not allowed in prolog.</faultstring>
<faultactor>InTouch</faultactor>
</fault>]]></updatePendingTicketsReturn>
      </ns1:updatePendingTicketsResponse>
   </soapenv:Body>
</soapenv:Envelope>

Но я хотел бы получить в ответ

<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:Fault>
<faultcode>TO BE DEFINED IF NEEDED</faultcode>
<faultstring >Content is not allowed in prolog.</faultstring>
<faultactor>InTouch</faultactor>
  </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

Есть ликаким образом мы можем изменить способ, которым coldfusion отправляет ответ при возникновении исключения?

В дополнение к этому, есть ли способ добавить схему XML в WSDL coldfusion для проверки документа XML, который былотправить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 августа 2014

Вы можете использовать атрибут wsdlfile <cfcomponent />, чтобы указать пользовательский WSDL.

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7e0e.html

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-78a6.html

0 голосов
/ 19 июля 2011

Думаю, нет, но вы можете попробовать весь код и определить свой собственный код ответа.

...