|
|
|
Перевод кодировки сообщения SOAP
|
|||
|---|---|---|---|
|
#18+
Доброго вам времени суток, относительно недавно занялась данным вопросом и застряла с следующей проблемой: Имееться: 2 WSDL один с коддировкой RPC другой с кодировкой Doc Literal 1 SOAP message с коддировкой Doc Literal соответсвующий WSDL Нужно: создать SOAP с коддировкой RPC с теми же данными. Для примера у меня есть готовый SOAP RPC созданный "вручную". Есть ли готовые программы и возможно ли выплнить эту задачу в принципе если да то каким образом (хотя бы в общих чертах) ? Файлы: SOAP Doc Literal - автор<?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <BNP_spcTest_spcWebService_Run_Input xmlns="http://siebel.com/asi/BNPTestWeb"> <ListOfDgAccount xmlns="http://www.siebel.com/xml/DG%20Account"> <Account> <IntegrationId>759369</IntegrationId> </Account> </ListOfDgAccount> <InputArg>2</InputArg> </BNP_spcTest_spcWebService_Run_Input> </soap:Body> </soap:Envelope> SOAP RPC - автор<?xml version="1.0" encoding="utf-8" ?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://siebel.com/asi/BNPTestWeb" xmlns:types="http://siebel.com/asi/BNPTestWeb/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <tns:Run> <Input_spcIO href="#id1" /> <InputArg xsi:type="xsd:string">2</InputArg> </tns:Run> <q1:ListOfDgAccountTopElmt id="id1" xsi:type="q1:ListOfDgAccountTopElmt" xmlns:q1="http://www.siebel.com/xml/DG%20Account"> <ListOfDgAccount href="#id2" /> </q1:ListOfDgAccountTopElmt> <q2:ListOfDgAccount id="id2" xsi:type="q2:ListOfDgAccount" xmlns:q2="http://www.siebel.com/xml/DG%20Account"> <Account href="#id3" /> </q2:ListOfDgAccount> <soapenc:Array id="id3" xmlns:q3="http://www.siebel.com/xml/DG%20Account" soapenc:arrayType="q3:Account[1]"> <Item href="#id4" /> </soapenc:Array> <q4:Account id="id4" xsi:type="q4:Account" xmlns:q4="http://www.siebel.com/xml/DG%20Account"> <IntegrationId xsi:type="xsd:string">759369</IntegrationId> </q4:Account> </soap:Body> </soap:Envelope> WSDL DOC - автор<?xml version="1.0" encoding="UTF-8" ?><?Siebel-Property-Set EscapeNames="false"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsdLocal0="http://www.siebel.com/xml/DG%20Account" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://siebel.com/asi/BNPTestWeb" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://siebel.com/asi/BNPTestWeb"> <types> <xsd:schema elementFormDefault="qualified" xmlns:xsdLocal0="http://www.siebel.com/xml/DG%20Account" attributeFormDefault="unqualified" targetNamespace="http://www.siebel.com/xml/DG%20Account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation>Copyright (C) 2001-2004 Siebel Systems, Inc. All rights reserved. Siebel XSD Generation</xsd:documentation> </xsd:annotation> <xsd:element name="ListOfDgAccount" type="xsdLocal0:ListOfDgAccount"></xsd:element> <xsd:complexType name="ListOfDgAccountTopElmt"> <xsd:sequence> <xsd:element name="ListOfDgAccount" maxOccurs="1" minOccurs="1" type="xsdLocal0:ListOfDgAccount"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ListOfDgAccount"> <xsd:sequence> <xsd:element name="Account" maxOccurs="unbounded" minOccurs="0" type="xsdLocal0:Account"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Account"> <xsd:sequence> <xsd:element name="Id" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="Created" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="Updated" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="ConflictId" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="ModId" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="AccountFirstName" maxOccurs="1" minOccurs="0" type="xsdLocal0:string50"></xsd:element> <xsd:element name="AccountLastName" maxOccurs="1" minOccurs="0" type="xsdLocal0:string50"></xsd:element> <xsd:element name="AccountTypeCode" maxOccurs="1" minOccurs="1" type="xsdLocal0:string30"></xsd:element> <xsd:element name="IntegrationId" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> <xsd:element name="Location" maxOccurs="1" minOccurs="0" type="xsdLocal0:string50"></xsd:element> <xsd:element name="Name" maxOccurs="1" minOccurs="1" type="xsdLocal0:string100"></xsd:element> <xsd:element name="Type" maxOccurs="1" minOccurs="0" type="xsdLocal0:string30"></xsd:element> </xsd:sequence> <xsd:attribute name="operation" type="xsd:string"></xsd:attribute> <xsd:attribute name="searchspec" type="xsd:string"></xsd:attribute> </xsd:complexType> <xsd:simpleType name="string50"> <xsd:restriction base="xsd:string"> <xsd:maxLength value="50"></xsd:maxLength> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="string30"> <xsd:restriction base="xsd:string"> <xsd:maxLength value="30"></xsd:maxLength> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="string100"> <xsd:restriction base="xsd:string"> <xsd:maxLength value="100"></xsd:maxLength> </xsd:restriction> </xsd:simpleType> </xsd:schema> <xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified" targetNamespace="http://siebel.com/asi/BNPTestWeb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="BNP_spcTest_spcWebService_Run_Input"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsdLocal0:ListOfDgAccount"></xsd:element> <xsd:element name="InputArg" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="BNP_spcTest_spcWebService_Run_Output"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xsdLocal0:ListOfDgAccount"></xsd:element> <xsd:element name="OutputArg" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> <message name="BNP_spcTest_spcWebService_Run_Input"> <part name="BNP_spcTest_spcWebService_Run_Input" element="tns:BNP_spcTest_spcWebService_Run_Input"></part> </message> <message name="BNP_spcTest_spcWebService_Run_Output"> <part name="BNP_spcTest_spcWebService_Run_Output" element="tns:BNP_spcTest_spcWebService_Run_Output"></part> </message> <portType name="WebTestDocLit"> <operation name="Run"> <input message="tns:BNP_spcTest_spcWebService_Run_Input"></input> <output message="tns:BNP_spcTest_spcWebService_Run_Output"></output> </operation> </portType> <binding name="WebTestDocLit" type="tns:WebTestDocLit"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding> <operation name="Run"> <soap:operation soapAction="document/http://siebel.com/asi/BNPTestWeb:Run"></soap:operation> <input> <soap:body use="literal"></soap:body> </input> <output> <soap:body use="literal"></soap:body> </output> </operation> </binding> <service name="BNP_spcWebTestDocLit"> <port binding="tns:WebTestDocLit" name="WebTestDocLit"> <soap:address location="http://172.31.37.140:7360/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=sadmin&Password=sadmin"></soap:address> </port> </service> </definitions> WSDL RPC - автор<?xml version="1.0" encoding="UTF-8" ?><?Siebel-Property-Set EscapeNames="false"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsdLocal0="http://www.siebel.com/xml/DG%20Account" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://siebel.com/asi/BNPTestWeb" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://siebel.com/asi/BNPTestWeb"> <types> <xsd:schema elementFormDefault="qualified" xmlns:xsdLocal0="http://www.siebel.com/xml/DG%20Account" attributeFormDefault="unqualified" targetNamespace="http://www.siebel.com/xml/DG%20Account" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation>Copyright (C) 2001-2004 Siebel Systems, Inc. All rights reserved. Siebel XSD Generation</xsd:documentation> </xsd:annotation> <xsd:element name="ListOfDgAccount" type="xsdLocal0:ListOfDgAccount"></xsd:element> <xsd:complexType name="ListOfDgAccountTopElmt"> <xsd:sequence> <xsd:element name="ListOfDgAccount" maxOccurs="1" minOccurs="1" type="xsdLocal0:ListOfDgAccount"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ListOfDgAccount"> <xsd:sequence> <xsd:element name="Account" maxOccurs="1" minOccurs="0" type="xsdLocal0:ArrayOfAccount"></xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ArrayOfAccount"> <xsd:complexContent mixed="false"> <xsd:restriction base="soapenc:Array"> <xsd:attribute aPrefix:arrayType="xsdLocal0:Account[]" ref="soapenc:arrayType" xmlns:aPrefix="http://schemas.xmlsoap.org/wsdl/"></xsd:attribute> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="Account"> <xsd:sequence> <xsd:element name="Id" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="Created" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="Updated" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="ConflictId" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="ModId" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="AccountFirstName" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="AccountLastName" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="AccountTypeCode" maxOccurs="1" minOccurs="1" type="xsd:string"></xsd:element> <xsd:element name="IntegrationId" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="Location" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> <xsd:element name="Name" maxOccurs="1" minOccurs="1" type="xsd:string"></xsd:element> <xsd:element name="Type" maxOccurs="1" minOccurs="0" type="xsd:string"></xsd:element> </xsd:sequence> </xsd:complexType> </xsd:schema> </types> <message name="BNP_spcTest_spcWebService_Run_Input"> <part name="Input_spcIO" type="xsdLocal0:ListOfDgAccountTopElmt"></part> <part name="InputArg" type="xsd:string"></part> </message> <message name="BNP_spcTest_spcWebService_Run_Output"> <part name="Output_spcIO" type="xsdLocal0:ListOfDgAccountTopElmt"></part> <part name="OutputArg" type="xsd:string"></part> </message> <portType name="Web_spcTest"> <operation name="Run"> <input message="tns:BNP_spcTest_spcWebService_Run_Input"></input> <output message="tns:BNP_spcTest_spcWebService_Run_Output"></output> </operation> </portType> <binding name="Web_spcTest" type="tns:Web_spcTest"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"></soap:binding> <operation name="Run"> <soap:operation soapAction="rpc/http://siebel.com/asi/BNPTestWeb:Run"></soap:operation> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://siebel.com/asi/BNPTestWeb" use="encoded"></soap:body> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://siebel.com/asi/BNPTestWeb" use="encoded"></soap:body> </output> </operation> </binding> <service name="BNP_spcWebTest"> <port binding="tns:Web_spcTest" name="Web_spcTest"> <soap:address location="http://172.31.37.140:7360/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=sadmin&Password=sadmin"></soap:address> </port> </service> </definitions> Заранее спасибо за помощь . Дина ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2008, 12:25 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=51&tid=1333854]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
2ms |
| others: | 20ms |
| total: | 126ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...