Message Mapping - External Definitions
My Scenario
1) File1(Request with Employee Number) - Sent to XI (Async)
2) XI will send the Request over HTTP and will Receive the Response(Employee Details) (Synchronous)
3) The HTTP Response will be sent to File2(Employee Details) (Async)
The Request and Responses are XSD Messages. I have Imported them into External Definition in my Repository.
Created a File Request - Abstract - Asynchronous - Message interface
Created a HTTP Request-Response - Abstract - Synch - Message interface
Created a File Response - Abstract - Asynchronous - Message interface
Message Mapping: (I am stuck here)
I need to Map the File Request to HTTP Request
I need to Map the HTTP Response to File2Response
How can I creat the Message Mapping for the above situation?
Thanks.
Hi,
You will need to create the following message mapping:
1. File Request - HTTP Request
2. HTTP Response - File Response
you can map Message Types to External Definitions and vice versa.
They should appear in the list for the relevant software component.
Or am I missimng something here ?
Cheers
colin.
Similar Messages
-
Unable to see Messages in External Definitions
I imported the WSDL below and created a Message Interface based on JobSubmitRequest but, when I come to map to it, all I see in the tree structure is node 'JobSubmitRequest' with elements 'parameter' and 'request_header'.
I also cannot see any messages in External Definitions.
Can anyone help with a solution?
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xoa="http://xoa.xpedite.com/2004/11/xoa" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://xoa.xpedite.com/2004/11/xoa">
<types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xoa.xpedite.com/2004/11/xoa" xmlns="http://xoa.xpedite.com/2004/11/xoa">
<!-- address type enum -->
<xs:simpleType name="AddressType">
<xs:restriction base="xs:string">
<xs:enumeration value="fax"/>
<xs:enumeration value="internet"/>
<xs:enumeration value="mbox"/>
<xs:enumeration value="x400"/>
<xs:enumeration value="telex"/>
<xs:enumeration value="cablegram"/>
<xs:enumeration value="mailgram"/>
<xs:enumeration value="ddd"/>
<xs:enumeration value="dedLine"/>
<xs:enumeration value="softswitch"/>
<xs:enumeration value="voice"/>
<xs:enumeration value="sms"/>
<xs:enumeration value="fod"/>
<xs:enumeration value="list"/>
<xs:enumeration value="smQuery"/>
</xs:restriction>
</xs:simpleType>
<!--includes for standalone validation
<xs:include schemaLocation="StatusType.xsd"/>
================ -->
<xs:element name="AuthenticateRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="Domain" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- The authenticate result (used to send back results for synchronous and asynchronous requests) -->
<xs:element name="AuthenticateResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- includes for standalone validation
<xs:include schemaLocation="StatusType.xsd"/>
================ -->
<xs:element name="CFSCreateDirRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="RelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CFSCreateDirResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="RelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- includes for standalone validation
<xs:include schemaLocation="StatusType.xsd"/>
================ -->
<xs:element name="CFSDeleteRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="RelativePath" type="xs:string"/>
<xs:element minOccurs="0" name="DeleteDir" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CFSDeleteResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="RelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- includes for standalone validation
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
<xs:include schemaLocation="StatusType.xsd"/>
<xs:include schemaLocation="Document.xsd"/>
================ -->
<xs:element name="CFSDownloadRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="RelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CFSDownloadResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="RelativePath" type="xs:string"/>
<xs:element minOccurs="0" name="FileData" type="xoa:DocDataType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- includes for standalone validation
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
<xs:include schemaLocation="StatusType.xsd"/>
<xs:include schemaLocation="Document.xsd"/>
================ -->
<xs:element name="CFSListRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="RelativePath" type="xs:string"/>
<xs:element minOccurs="0" name="IncludeSubDir" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="EntryType">
<xs:restriction base="xs:string">
<xs:enumeration value="file"/>
<xs:enumeration value="directory"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="CFSListResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="RelativePath" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="DirectoryEntry" type="xoa:DirectoryEntryType">
<xs:annotation>
<xs:documentation>content of
DirectoryEntry is path relative to
the RelativePath</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="DirectoryEntryType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xoa:EntryType" use="required"/>
<xs:attribute name="modified" type="xs:dateTime" use="optional"/>
<xs:attribute name="size" type="xs:integer" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- includes for standalone validation
<xs:include schemaLocation="StatusType.xsd"/>
================ -->
<xs:element name="CFSRenameRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="OldRelativePath" type="xs:string"/>
<xs:element name="NewRelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CFSRenameResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="OldRelativePath" type="xs:string"/>
<xs:element minOccurs="0" name="NewRelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- includes for standalone validation
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
<xs:include schemaLocation="StatusType.xsd"/>
<xs:include schemaLocation="Document.xsd"/>
================ -->
<xs:element name="CFSUploadRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element name="RelativePath" type="xs:string"/>
<xs:element name="FileData" type="xoa:DocDataType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CFSUploadResult">
<xs:complexType>
<xs:sequence>
<xs:element name="Status" type="xoa:StatusType"/>
<xs:element minOccurs="0" name="SubmitId" type="xs:string"/>
<xs:element minOccurs="0" name="RelativePath" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- ===============================
<xs:include schemaLocation="AddressType.xsd"/>
<xs:include schemaLocation="Document.xsd"/>
<xs:include schemaLocation="EncodableStringType.xsd"/>
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
<xs:include schemaLocation="StatusType.xsd"/>
=============================== -->
<!-- Type definitions -->
<!-- Phone element -->
<xs:element name="Phone">
<xs:simpleType>
<xs:restriction base="xs:string">
<!-- <xs:pattern value="[0-9+x\-() ]{5,20}"/> -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Email element -->
<xs:element name="Email">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="2"/>
<!-- <xs:pattern value="[@]{1,64}@([@\.]{1,64}\.){1,10}[^@\.]{1,64}"/> -->
</xs:restriction>
</xs:simpleType>
</xs:element>
<!-- Eformat type -->
<xs:simpleType name="EformatType">
<xs:annotation>
<xs:documentation> Only used in messageREACH.
Indicates the preferred email format of the
message body the recipient will receive.
Leaving the field empty or setting it to
"default" will send a multipart message body
rather than just a single message body if
it would do so normally. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="html"/>
<xs:enumeration value="htmllite"/>
<xs:enumeration value="default"/>
</xs:restriction>
</xs:simpleType>
<!-- insert list element -->
<xs:element name="InsertList">
<xs:complexType>
<xs:choice>
<xs:element maxOccurs="unbounded" name="Insert">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="number" type="xs:integer"/>
<xs:attribute name="b64charset" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- extension element -->
<xs:complexType name="SegmentType">
<xs:choice>
<xs:element maxOccurs="unbounded" name="Property">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="b64charset" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:element name="Extension">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="Segment" type="xoa:SegmentType"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- field mapping type -->
<xs:complexType name="FieldMappingType">
<xs:annotation>
<xs:documentation> Describes the correspondence
between the segment/keyword pairs in the
XDDS header file and columns in a table. Only
two table formats currently supported: CSV
(comma-separated values) and XSL (Excel
spreadsheet). The mapping may go either
from field name to the segment/keyword pair
or vice versa. In both cases, the same
structure may be used. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Map">
<xs:complexType>
<xs:sequence>
<xs:element name="FieldName" type="xs:string"/>
<xs:element minOccurs="0" name="SegmentName" type="xs:string"/>
<xs:element name="PropertyName" type="xs:string"/>
<xs:element minOccurs="0" name="IsBase64Encoded" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- class definitions -->
<!-- delivery item base class -->
<xs:element abstract="true" name="DeliveryItem" type="xoa:DeliveryItemType"/>
<xs:complexType abstract="true" name="DeliveryItemType">
<xs:attribute name="ref" type="xs:string" use="optional"/>
<xs:attribute name="refb64" type="xs:string" use="optional"/>
</xs:complexType>
<!-- new branch -->
<!-- delivery item container class -->
<xs:element abstract="true" name="DeliveryItemContainer" type="xoa:DeliveryItemContainerType"/>
<xs:complexType abstract="true" name="DeliveryItemContainerType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemType"/>
</xs:complexContent>
</xs:complexType>
<!-- list delivery item class -->
<xs:element name="List" type="xoa:ListType"/>
<xs:complexType name="ListType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemContainerType">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
</xs:sequence>
<xs:attribute name="ownershipLevel" type="xoa:OwnershipLevelType"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- SmQuery delivery item class -->
<xs:element name="SmQuery" type="xoa:SmQueryType"/>
<xs:complexType name="SmQueryType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemContainerType">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
</xs:sequence>
<xs:attribute name="ownershipLevel" type="xoa:OwnershipLevelType"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- External table delivery item class -->
<!-- This includes CSV and XLS files -->
<xs:element name="Table" type="xoa:TableType"/>
<xs:complexType name="TableType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemContainerType">
<xs:sequence>
<xs:element minOccurs="0" name="FieldMapping" type="xoa:FieldMappingType"/>
<xs:choice>
<xs:element name="DocRef" type="xs:string"/>
<xs:element name="Document" type="xoa:DocumentType"/>
</xs:choice>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- new branch -->
<!-- delivery item simple class -->
<xs:element abstract="true" name="DeliveryItemSimple" type="xoa:DeliveryItemSimpleType"/>
<xs:complexType abstract="true" name="DeliveryItemSimpleType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemType">
<xs:sequence>
<xs:element minOccurs="0" name="Alternate">
<xs:complexType>
<xs:choice>
<xs:element ref="xoa:Fax"/>
<xs:element ref="xoa:Internet"/>
<xs:element ref="xoa:Voice"/>
<xs:element ref="xoa:Fod"/>
<xs:element ref="xoa:Mbox"/>
<xs:element ref="xoa:Sms"/>
<xs:element ref="xoa:Telex"/>
<xs:element ref="xoa:DeliveryItemGeneric"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- mbox delivery item class -->
<xs:element name="Mbox" type="xoa:MboxType"/>
<xs:complexType name="MboxType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemSimpleType">
<xs:sequence>
<xs:element name="UserId" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- telex delivery item class -->
<xs:element name="Telex" type="xoa:TelexType"/>
<xs:complexType name="TelexType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemSimpleType">
<xs:sequence>
<xs:element name="Number" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- FOD delivery item class -->
<xs:element name="Fod" type="xoa:FodType"/>
<xs:complexType name="FodType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemSimpleType">
<xs:sequence>
<xs:element name="Address" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- SMS delivery item class -->
<xs:element name="Sms" type="xoa:SmsType"/>
<xs:complexType name="SmsType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemSimpleType">
<xs:sequence>
<xs:element ref="xoa:Phone"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- new branch -->
<!-- Complex delivery item class -->
<xs:element abstract="true" name="DeliveryItemComplex" type="xoa:DeliveryItemComplexType"/>
<xs:complexType abstract="true" name="DeliveryItemComplexType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemSimpleType">
<xs:sequence>
<xs:element minOccurs="0" ref="xoa:InsertList"/>
<xs:element minOccurs="0" ref="xoa:Extension"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- fax delivery item class -->
<xs:element name="Fax" type="xoa:FaxType"/>
<xs:complexType name="FaxType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemComplexType">
<xs:sequence>
<xs:element ref="xoa:Phone"/>
<xs:element minOccurs="0" name="Att" type="xoa:EncodableStringType"/>
<xs:element minOccurs="0" name="From" type="xoa:EncodableStringType"/>
<xs:element minOccurs="0" name="To" type="xoa:EncodableStringType"/>
<xs:element minOccurs="0" name="Salutation" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- voice delivery item class -->
<xs:element name="Voice" type="xoa:VoiceType"/>
<xs:complexType name="VoiceType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemComplexType">
<xs:sequence>
<xs:element ref="xoa:Phone"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- internet delivery item class -->
<xs:element name="Internet" type="xoa:InternetType"/>
<xs:complexType name="InternetType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemComplexType">
<xs:sequence>
<xs:element ref="xoa:Email"/>
<xs:element minOccurs="0" name="Subject" type="xoa:EncodableStringType"/>
<xs:element minOccurs="0" name="From" type="xoa:EncodableStringType"/>
<xs:element minOccurs="0" name="Eformat" type="xoa:EformatType"/>
<xs:element minOccurs="0" name="Password" type="xs:string">
<xs:annotation>
<xs:documentation> Only used in
messageREACH. The password used
by this recipient to retrieve
pull attachments. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- fax delivery item class -->
<xs:element name="DeliveryItemGeneric" type="xoa:DeliveryItemGenericType"/>
<xs:complexType name="DeliveryItemGenericType">
<xs:complexContent>
<xs:extension base="xoa:DeliveryItemComplexType">
<xs:sequence>
<xs:element name="Address" type="xs:string"/>
</xs:sequence>
<xs:attribute name="type" type="xoa:AddressType" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Finally, delivery item list -->
<!-- delivery item list type -->
<xs:complexType name="DeliveryItemListType">
<xs:choice maxOccurs="unbounded">
<xs:element ref="xoa:List"/>
<xs:element ref="xoa:SmQuery"/>
<xs:element ref="xoa:Table"/>
<xs:element ref="xoa:DeliveryItemGeneric"/>
<xs:element ref="xoa:Fax"/>
<xs:element ref="xoa:Internet"/>
<xs:element ref="xoa:Voice"/>
<xs:element ref="xoa:Fod"/>
<xs:element ref="xoa:Mbox"/>
<xs:element ref="xoa:Sms"/>
<xs:element ref="xoa:Telex"/>
</xs:choice>
</xs:complexType>
<!--remove includes later
<xs:include schemaLocation="AddressType.xsd"/>
================ -->
<xs:complexType name="DestinationType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xoa:AddressType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- ===============================
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
=============================== -->
<!-- Elementary definitions go first -->
<xs:element name="CharacterSet" type="xs:string">
<xs:annotation>
<xs:documentation>use ISO names</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Document type -->
<xs:simpleType name="DocFormatType">
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="XMF"/>
<xs:enumeration value="TIFF"/>
<xs:enumeration value="XAR"/>
<xs:enumeration value="PS"/>
<xs:enumeration value="PCL"/>
<xs:enumeration value="PDF"/>
<xs:enumeration value="MSW"/>
<xs:enumeration value="WAV"/>
<xs:enumeration value="RTF"/>
<xs:enumeration value="XLS"/>
<xs:enumeration value="HTML"/>
<xs:enumeration value="HTMLLITE"/>
<xs:enumeration value="unspec"/>
<xs:enumeration value="GIF"/>
<xs:enumeration value="JPEG"/>
<xs:enumeration value="PPT"/>
<xs:enumeration value="BMP"/>
<xs:enumeration value="VSD"/>
<xs:enumeration value="PUB"/>
<xs:enumeration value="MPP"/>
<xs:enumeration value="empty"/>
<!-- We do not need to know the document type for the -->
<!-- email attachments. -->
</xs:restriction>
</xs:simpleType>
<!-- Document Encoding format -->
<xs:simpleType name="DocEncodingFormat">
<xs:restriction base="xs:string">
<xs:enumeration value="text"/>
<xs:enumeration value="base64"/>
</xs:restriction>
</xs:simpleType>
<!-- Document embedded into the request -->
<xs:complexType name="DocDataType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="format" type="xoa:DocEncodingFormat" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- All supported stored object types -->
<xs:simpleType name="SosObjectType">
<xs:restriction base="xs:string">
<xs:enumeration value="tts"/>
<xs:enumeration value="vcs"/>
</xs:restriction>
</xs:simpleType>
<!-- The types of the sos stored objects -->
<xs:complexType name="SosObjectIdType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="sosType" type="xoa:SosObjectType" use="required"/>
<xs:attribute name="ownershipLevel" type="xoa:OwnershipLevelType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Another Document type -->
<xs:complexType name="DocumentType">
<xs:sequence>
<xs:element name="DocType" type="xoa:DocFormatType"/>
<xs:element minOccurs="0" name="Filename" type="xs:string"/>
<xs:choice>
<xs:element name="DocData" type="xoa:DocDataType"/>
<xs:element name="DocCfs" type="xs:string"/>
<xs:element name="DocUrl" type="xs:anyURI"/>
<xs:element name="SosObject" type="xoa:SosObjectIdType"/>
</xs:choice>
<xs:element minOccurs="0" ref="xoa:CharacterSet"/>
</xs:sequence>
<xs:attribute name="ref" type="xs:string" use="optional"/>
</xs:complexType>
<!-- The document set type -->
<xs:complexType name="DocumentSetType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Document" type="xoa:DocumentType"/>
</xs:sequence>
</xs:complexType>
<!-- The document by value or by reference -->
<xs:complexType name="DocumentOrRefType">
<xs:choice>
<xs:element name="DocRef" type="xs:string">
<xs:annotation>
<xs:documentation>must refer to a document
in document_set</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Document" type="xoa:DocumentType"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="EncodableStringType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="b64charset" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!--includes for standalone validation
================ -->
<xs:simpleType name="HistoryActionType">
<xs:restriction base="xs:string">
<xs:enumeration value="inserted"/>
<xs:enumeration value="updated"/>
<xs:enumeration value="deleted"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ItemCountType">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="type" type="xoa:HistoryActionType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="HistoryType">
<xs:sequence>
<xs:element name="Action" type="xs:string"/>
<xs:element name="Operator" type="xs:string"/>
<xs:element name="Agent" type="xs:string"/>
<xs:element name="Time" type="xs:dateTime"/>
<xs:element name="ItemCount" type="xoa:ItemCountType"/>
</xs:sequence>
</xs:complexType>
<!-- ================
<xs:include schemaLocation="AddressType.xsd"/>
<xs:include schemaLocation="DestinationType.xsd"/>
<xs:include schemaLocation="Document.xsd"/>
<xs:include schemaLocation="JobIdType.xsd"/>
<xs:include schemaLocation="OwnershipLevelType.xsd"/>
<xs:include schemaLocation="StatusType.xsd"/>
<xs:include schemaLocation="RecStatusType.xsd"/>
================ -->
<xs:simpleType name="JobCancelType">
<xs:annotation>
<xs:documentation>The set of cancellation types/options</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="All"/>
<xs:enumeration value="Deliveries"/>
<xs:enumeration value="Reports"/>
<xs:enumeration value="AcceptanceReport"/>
<xs:enumeration value="CancellationNotice"/>
<xs:enumeration value="Pulls"/>
<xs:enumeration value="FriendDeliveries"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="JobCancelItemType">
<xs:sequence>
<xs:element name="JobId" type="xoa:JobIdType">
<xs:annotation>
<xs:documentation>requested JobId</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="CancelType" type="xoa:JobCancelType"/>
<xs:element minOccurs="0" name="NotificationAddress" type="xoa:DestinationType"/>
<xs:choice minOccurs="0">
<xs:element name="NotificationType" type="xs:string"/>
<xs:element name="NotificationText" type="xoa:DocDataType"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
&Hi,
Not all data types from WSDL are supported during import. There is SAP Note about it.
please read it:
/people/kevin.liu/blog/2005/10/07/a-note-on-wsdl-and-xsd-imports--part-ii
regards,
wojtek
Message was edited by: Wojciech Gasiorowski -
External definitions import into Message mapping
Hi,
I have a DTD message in external definitions to be imported into the message mapping. But I am not able to choose the object in the mapping editor. It does not allow even if the message is a valid WSDL. The only time it allows to import into the message editor is when its an XSD.I am not sure why the external definitions in DTD or WSDL formats are not able to be imported or am I missing something??
-KenHi,
A conversion of the downloaded cXML DTD into XSD by using XMLSPY yields 3 XSD files. Using the initial XSD(which has the major fields) yields the same error(i.e cannot create messages or valid WSDL) in external definitions.
I also tried using one of the standard xml's from the cXML site and the funny part was XMLSPY validated them without errors and while importing them directly into the mapping editor, XI throws an error "XML NOT WELL FORMED". Its so weird.
Also is there a possibility to write a script to manipulate the payload message after passing through the adapters? For eg : Creating a script which will delete a valid tag in payload before it reaches the 3rd party. ...By adding the DOCTYPE in the prolog, the message would look like this :
"<?xml...utf-8>
<!DOCTYPE......'Cxml.org'>
<?xml.....utf-8>
<start tag></start tag>
Therefore some kind of a script that would remove the second <?xml tag on line 3>..
This is just a round about thinking
Any ideas.. -
Messages not adviced in extern definition after import wsdl-file from WAS
Hi friends,
after importing the three wsld-files in repository (extern definitions) the messages are not adviced. The referendes to the files are fine, because the name is shown at the tab externe...
But i´m not shure wheather i tool the right link ant Web Service Navigator. It is right to download the default SAP WSDL Files or the default one? Because in the SAP WSDL-files there will be an exception during import in XI repository (tag sap:useFeatur). What is the problem that the messages are not shown on the tab messages in externe definitions?
Thanks in advance,
FrankI've the same problem. Here is my WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://blablabla.de:8080/jboss-net/services/MyServices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://blablabla.de:8080/jboss-net/services/MyServices" xmlns:intf="http://blablabla.de:8080/jboss-net/services/MyServices" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="blablabla.de" xmlns:tns2="http://net.jboss.org/jmx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema targetNamespace="blablabla.de" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="MSOBean">
<sequence>
<element name="installationName" nillable="true" type="xsd:string"/>
<element name="requestId" nillable="true" type="xsd:string"/>
<element name="returnCode" type="xsd:int"/>
<element name="returnMessage" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="MSIBean">
<sequence>
<element name="password" nillable="true" type="xsd:string"/>
<element name="project" nillable="true" type="xsd:string"/>
<element name="requestId" nillable="true" type="xsd:string"/>
<element name="userId" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="actualizeRequest">
<wsdl:part name="inData" type="tns1:MSIBean"/>
</wsdl:message>
<wsdl:message name="actualizeResponse">
<wsdl:part name="actualizeReturn" type="tns1:MSOBean"/>
</wsdl:message>
<wsdl:portType name="MSService">
<wsdl:operation name="actualize" parameterOrder="inData">
<wsdl:input message="impl:actualizeRequest" name="actualizeRequest"/>
<wsdl:output message="impl:actualizeResponse" name="actualizeResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MyServicesSoapBinding" type="impl:MSService">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="actualize">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="actualizeRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://blablabla.de" use="encoded"/>
</wsdl:input>
<wsdl:output name="actualizeResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://blablabla.de:8080/jboss-net/services/MyServices" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MSServiceService">
<wsdl:port binding="impl:MyServicesSoapBinding" name="MyServices">
<wsdlsoap:address location="http://blablabla.de:8080/jboss-net/services/MyServices"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
No Idea. -
How to remove namespaces in mapping when using External Definition
Hi,
I read in the blog (/people/sameer.shadab/blog/2005/12/05/how-to-remove-namespaces-in-mapping--xi) that you are able to remove namespaces in mapping by deleting the value from XML Namespace under the Message Type. However, is it possible to do this when you are using External Definition (xsd) ? The blog only describe how to do this if you define a Data Type.Hi ,
No ..it is not possible to remove the namespace once you imported into IR of external defintion.You can remove your namesapce from external definition before importing into IR.
Sekhar -
Multi-Mapping Error in PI 7.1 - External Definitions
Hi all,
We have just upgraded to PI 7.1 from 7.0 and run into an issue with message multi-mappings, just wondered if anyone else had met the same issue and worked it out...
When creating a message mapping, we are using as the target an external definition which is defined by an XSD generated by a third party tool (Seeburger).
When I map 1:1 (1 source message to one target message) in the message mapper, all is fine but if I try to create a multi mapping, I get an error. The process is:
a) I have a message mapping with one target message, defined as an External Definition.
b) I then go to Signature tab and add a second target message as an External Definition
c) Click back to Definition tab
d) Get the error "Object XXXXX | YYYYY not found" - where XXXXX is the external def name and YYYYY is the namespace (the SWCV namespace that is, not the XML namespace)
This only seems to happen with External Definitions which are autogenerated and I strongly suspect that is has to do with the fact that the tool that generates them always does so without an XML namespace. I have not proved this though (other Ext Defs with namespaces work for multi-mappings but that is not the only difference so I can't be sure that is the issue but have a strong hunch. This problem did not occur in 7.0.
Anyone got any ideas?
Thanks,
ChrisHi,
This would not be of much help but, I was able to encounter this issue in XI 3.0.
What we did was to manually edit the XSD and add a namespace to it. I'm not sure if PI 7.1 is able to handle mutiple namespaces, so we limited it to this value <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> and made sure that this value is used for all the External Definitions used in the multi-mapping.
Regards, -
Import external definition to message type
Hello
I have scenario file to IDOC.
I dont know way in this time I not successful to import my external definition to message type.
Any idea?
EladHello again,
I try to solve mapping problem
Hello again,
I have scenario from file(xml) to IDOC.
In outbound side I have XSD file and I imported this file and I use with him in outbound interface.
In inbound side I have IDOC.
I have mapping problem issue.
When I test this mapping I have this error message:
Cannot produce target element /ZORD_CREATE. Check xml instance is valid for source XSD and target-field mapping fulfills requirements of target XSD
Any idea?
Elad -
Possible? Using External Definitions for data type/message type definitions
Hi all,
i want to use external definitons in my own data type definitions. Is that possible? And if yes, how?
I imported many definitions via a mass import. Now I also want to use these definitions for further interfaces (than the imported ones). The most convenient would be of course to just use them as a custom created type. Can I somehow "convert" an external definition to a data type/message type?
KR
FelixHello Felix,
The External defination which you has been imported that cant use in DT and MT but yeah you can use this in Service interface.
you cant modify that External defination if you want to do that then 1st of all modify it and then reimport it as an another external defination.
and creating service interface with this ED you can use it in your message mapping .
i hope this will help to you to clear your doubt.
Monica -
"Messages" problem after importing .xsd file as external definition
Hello,
I received an .xsd file from a customer and need to import it as an "External Definition" in order to create the "Message Interface". The structure of the xsd looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:px="http://www.opentrans.org/XMLSchema/1.0" targetNamespace="http://www.opentrans.org/XMLSchema/1.0" elementFormDefault="qualified">
<xsd:element name="ORDER">
</xsd:element>
<xsd:element name="ADDRESS">
</xsd:element>
<xsd:element name="ARTICLE_ID">
</xsd:element>
</xsd:schema>
After importing and looking at the tab "Messages" I get numerous entries, for each <xsd:element> I get one message! But I basically only need one "Message" that holds my complete xsd-file.
I tried inserting <xsd:element name="COMPLETEORDER"> right after the <xsd:schema>-Tag but that didn't work either. Somehow I need to sum up all the <xsd:elements>.
Does anyone have an idea? Thank you very much!
PeterHello Prateek, Hello everyone,
I now know what the problem is. I downloaded XMLspy and checked on the structure:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:px="http://www.opentrans.org/XMLSchema/1.0" targetNamespace="http://www.opentrans.org/XMLSchema/1.0" elementFormDefault="qualified">
<xsd:element name="ORDER">
</xsd:element>
<xsd:element name="ADDRESS">
</xsd:element>
<xsd:element name="ARTICLE_ID">
</xsd:element>
<xsd:simpleType name="dtBOOLEAN">
</xsd:simpleType>
<xsd:simpleType name="dtCOUNTRIES">
</xsd:simpleType>
<xsd:element name="SUPPLIER_AID">
</xsd:element>
<xsd:simpleType name="typeSUPPLIER_AID">
</xsd:simpleType>
</xsd:schema>
Between the long list of <xsd:element> tags there are some simpleTypes on the same
level. Now if I insert
<xsd:element name="COMPLETEORDER">
<xsd:complexType>
<xsd:sequence>
on top, the <xsd:sequence> would be on the same level as the simpleTypes - which is not valid!
But can I just move all the simpleTypes, e.g. into an <xsd:element>??
That would be changing the customer's structure which I think is not a good thing!?
Thank you again for your help! I really appreciate it!
Best regards,
Peter -
No messages under the 'Messages' tab for imported WSDL in External Definitions
Dear All,
I import this WSDL to the External Definitions but it is not showing any messages in the 'Messages' tab while WSDL clearly has message interfaces in it. Attached is the WSDL. You help is very much appreciated.
Regards,
Adil KhalilHi, imported wsdl shouldn't have any import instruction.
All import instruction should be changed to content of importing file.
I see the code <xsd:import namespace="http://ouaf.oracle.com/"/> in your file.
Hmm. but I imported you file and everything is fine
Message was edited by: Mikhail Koshkin -
Generating Proxy in SAP620 for message interfaces with External definitions
Hi,
We need to generate ABAP proxy in SAP 6.20 for a message interface(XI 3.0) based on WSDL definition.As it is not possible to generate the proxies for WSDL in SAP 620,we installed APPINT620(level 5).Still we are unable to generate the proxy.Any ideas to solve this issue?
Thanks in millions,
S.BanukumarHi,
We have done a workaround to define the SAP(inbound/outbound) message interfaces manually as a copy of external definition structures.Based on the manually defined message interfaces,we could generate the proxy.By this way we could solve the problem.
Thanks,
S.Banukumar -
In Idoc bundling ...message mapping not found
Hi XI Friends..
In my File to Idoc scenario..i want to send multiple IDOCs from the XI without a BPM .
I am following blog by Michal.
<a href="///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change:///people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
I have xsd for source ..so i created one external definition .and message interface for outbound.
following the above blog by michal..
i imported idoc ..and i exported that idoc into xsd and i changed the occurance of idoc to unbounded and again imported as external definition.
i created the message mapping between these two external definitions.and tested ..
As in michal 's blog..
In Interface mapping..i given source and target interface as standard idoc.and clicked on Read interface then i am not finding the message mapping created in previous step..
i refreshed cache also..
please guide me.....
regards
ramHi bavesh...
thank you so much for very your quick responses..
i got xsd as source..based on xsd i created external definition for source xsd and i created outbound interface based on source external deifinition <b>MI_OUT_WearUnits</b>.
and i imported Idoc and exported as xsd and changed occurance to unbounded and again imported as external definition.
i did mapping between these two external definitions.
and i selected standard idoc for source and target interface for interface mapping and given message mapping of previous step.
In ID
sender agreement :
sender service :BS_external
sender interface :<b>MI_OUT_WearUnits</b>
receiver agreement:
receiver service :R/3
receiver interface : standard Idoc
Interface determination:
sender service :BS_external
sender interface :<b>MI_OUT_WearUnits</b>
reciever service :R/3
and clicked create
inbound interface : Standard IDOc
i am not getting Interface mapping which i created in IR.
i tried Enhance interface determination also..
please guide me....
waiting for your help.
regards
ram -
Need Clarification on Looping in Message Mapping.
Hi All,
I'm trying to implement the Dynamic emailing as explained in the Michals blog.
/people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
I have this partially working for the scenario I have.
XI will be receiving a ORDRSP IDoc from an external system and XI needs to do the following.
1) Check the value of <b> E1EDP01-ABGRU </b> equals to Z2. If any of the E1EDP01-ABGRU has a value of Z2, it should do the following
a) Get the email address from the E1EDKA1-ILNNR and map it to the TO field as shown in the blog.
b) Get the values of BELNR-E1EDK01, MENEE, VPREI, POSEX, PEINH, ABGRT from the E1EDP01 segment and concatenate them all and map it to the Content tag as explained in Michals blog.
I have this process partially working. The XI interface is only mapping for the first occurrence of E1EDP01 and not the subsequent occurrences of E1EDP01 which matches the criteria ( E1EDP01-ABGRU = Z2)
Any help in getting fixing this problem??
ThanksMake sure to define multiple target messages in your message and interface mappings, for the mail package message definition (occurrence = 0...unbounded).
Also, in the logic of your message mapping, you need to create a new mail package message only if E1EDP01-ABGRU = 'Z2'. Use it like this:
ABGRU --- EqualS --- createIf --- Mail
Constant[Z2]
Regards,
Henrique. -
File to multiple Idocs using external definitions.
Hi all,
I have to create multiple idocs based on one field from source side.
Inorder to do this..I have decided to change the occurance of Idoc from 1 to 1..unbounded , in the xsd i have downloaded from standard Idoc.
which i have a plan to map to the filed , based on that i need to create new Idoc.
I have tried importing the modified xsd into external definition. but how i should relate it to standard idoc which I have mapped earlier?.
Thanks,
venu.HI Venu,
<i>
I have tried importing the modified xsd into external definition. but how i should relate it to standard idoc which I have mapped earlier?.</i>
After changing the Idoc occurence , you have imported the xsd into external definition. So this will act as as new message type for you in the mapping.
You can not use old mapping here.
Regards,
Moorthy -
Error in message mapping - Cannot produce target element
As one step in my integration process, I am builing a very simple file to BPM integration (inbound MI async, outbound MI abstract).
The source type and the target type are completely equal - I am only doing some modifications to some of the content.
The type for both messages - source & target message - is an imported external definition (DTD), and hence no DT or MT are created.
As a first step I am trying to fill the target message with the content from the source message (without any modifications to the content). However, when testing this in the message mapping area, I get an error message already when filling the first element, the 'root node'.
The error message is as follows:
Start of test
Compilation of <MM name> successful
Cannot produce target element <elementname>. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd Cannot produce target element <elementname>. . Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
End of test
Any suggestions?
Thanks,
CThanks,
when creating the source message manually in the MM it worked - so nothing wrong with the mapping.
I saved this file and compared with the "original file" - containing the content which I wanted to upload, and on which the xsd (external definition) was based - and there where some inconsistancies.
I changed some values in the source XML which made it work, also when uploading the file from a drive.
So, I will go back to the source system and try to get a better XML.
Thanks for now!
Maybe you are looking for
-
How many iPods can sync to one iTunes acct.?
I have a single iTunes account with a 7,000 song library. I want to sync additional iPods to this account. Can this be done or am I limited to sync one iPod to each iTunes account?
-
How to create Customer Group in CRM and use reminder script
Dear Sir, I would like to set the group of customer in CRM , Such as , customer 1 is in Group A , Custoemr2 is in Group B. So, in Interaction Center : CIC0 , I will do the reminder scipte, there script for Customer Group A , anothere script for Custo
-
Mac OS X 10.6.8 is running slow and DVD Rom not working
Have trouble with OS X 10.6.8 so i was told to reinstall my os from the original DVD but my dvd rom is not responding. I put cd or dvd in and it just spits it right back out. HELP IS NEEDED
-
Remove all duplicate records and load into temp table
Hi I have a table contains data like this. Emp No Designation location 1111 SE CA 1111 DE CT 3456 WE NJ 4523 TY GH We found that there are two duplicate records for emp no: 1111. I want to delete all duplicate records (in this case two records for em
-
Hi, In MB31, I am getting an error: "Missing parts check not possible." What could be the reason. Regards Ramakanth