OUAF / MDM 2.0.1 / XAI Inbound Service - SyncRequestInbound
I am trying to "import" an Device from my system to MDM using D1-SyncRequestInbound, but some errors have occurred. Can someone post an example ?
This is my xml:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:d1="http://oracle.com/D1-SyncRequestInbound.xsd">
<soapenv:Header/>
<soapenv:Body>
<d1:D1-SyncRequestInbound dateTimeTagFormat="xsd" transactionType="?">
<d1:externalReferenceId>1</d1:externalReferenceId>
<d1:initialLoad>F1IL</d1:initialLoad>
<d1:bo>D1-InitialSyncRequestDevice</d1:bo>
<d1:targetMo>D1-DEVICE</d1:targetMo>
<d1:targetBo>D1-DEVICE</d1:targetBo>
<d1:externalSystem>CM-EXT1</d1:externalSystem>
<d1:externalPkValue1>1</d1:externalPkValue1>
<d1:syncRequestDetails>
<d1:original>
<d1:initialSnapshot>
<d1:deviceType>CM-METER-TYPE1</d1:deviceType>
<d1:manufacturer>CM-MANUF1</d1:manufacturer>
<d1:model>CM-MODEL1</d1:model>
</d1:initialSnapshot>
</d1:original>
</d1:syncRequestDetails>
</d1:D1-SyncRequestInbound>
</soapenv:Body>
</soapenv:Envelope>
Below should work provided you have created/configured:
- External System : CM-EXT1
- Device Type: CM-METER-TYPE1
- Manufacturer/Model : CM-MANUF1 / CM-MODEL1
You SHOULD NOT define <bo> element, it'll be derived based on <initialLoad> tag, i.e. F1IC - Ongoing Sync/Incremental Sync and F1IL - Initial Load.
<finalSnapshot> is what you need and you should be at least SP5 or above, if below you'd have to apply appropriate patch.
<D1-SyncRequestInbound>
<externalReferenceId>32100057871898</externalReferenceId>
<initialLoad>F1IC</initialLoad>
<targetMo>D1-DEVICE</targetMo>
<externalSystem>CM-EXT1</externalSystem>
<externalPkValue1>1</externalPkValue1>
<externalPkValue2 />
<externalPkValue3 />
<externalPkValue4 />
<externalPkValue5 />
<syncRequestDetails>
<original>
<initialSnapshot>
<customElements />
<formattedElements>
<formattedElements />
</formattedElements>
</initialSnapshot>
<finalSnapshot>
<deviceType>CM-METER-TYPE1</deviceType>
<boStatus>ACTIVE</boStatus>
<manufacturer>CM-MANUF1</manufacturer>
<model>CM-MODEL1</model>
<customElements />
<formattedElements />
</finalSnapshot>
</original>
</syncRequestDetails>
</D1-SyncRequestInbound>
Similar Messages
-
Problem in uploading XML via XAI Inbound Service and XAI Receiver..
Problem in MDM 2.0.1
I'm trying to upload some interval data in batches via XAI.
I have created one XAI Inbound service *(D1-SUNXAI)* where i am using BO *(D1-IMDSeeder)*
Then I have created one XAI RECEIVER where XAI class is XMLFILERCVR, XAI user id is XAIURL+
My scan directory is C:\ouaf\DEV9\upload where i'm keeping the *.xml files.
But these files are not uploading to database.
Please provide a solution for this..
Edited by: Suraj Keerthi on Apr 26, 2011 6:24 PMYou need to create TWO inbound services to accomplish it. One is to create the XML message and the other one is to process the transaction (add meter read).
Thanks,
Sankara. -
Missing namespace on XAI Inbound Service Fault Element
Hi,
when a XAI Inbound service errors out, it uses the Fault element defined in the WSDL, which normally should be:
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">+
+<soapenv:Body>+
+<soapenv:Fault>+
+<faultcode>soapenv:Client</faultcode>+
+<faultstring>Client Error</faultstring>+
+<detail>+
*+<ouaf:Fault xmlns:ouaf="urn:oracle:ouaf">+*
-- omiting details
+</ouaf:Fault>+
+</detail>+
+</soapenv:Fault>+
+</soapenv:Body>+
+</soapenv:Envelope>+
However, in one environment i am getting this response, without the namespace:
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">+
+<soapenv:Body>+
+<soapenv:Fault><faultcode>soapenv:Client</faultcode>+
+<faultstring>Client Error</faultstring>+
+<detail>+
*+<ouafFault>+*
-- Omiting Details
+</ouafFault>+
+</detail>+
+</soapenv:Fault>+
+</soapenv:Body>+
+</soapenv:Envelope>+
This happens both for Custom and Base XAI Inbound services.
Already validated the patching level between environments.
The logs do not show any obvious difference.
I will appreciate any idea or suggestion.
Thanks
Regards
Ernesto.All the environments had the same patching level and our problem was in one environment only.
We cloned the rowking environment ontop of the non-working one and it's solved, although we don't know which was the reason. My guess is some of the patches was not properly applied.
Thanks
Regards
Chipi. -
Create a flat-file upload for a BO XAI Inbound Service?
Hello all,
If we don't have a schema defined for a BO XAI Inbound Service, how can we create the XSL and the flat-file upload schema file for it.
Any advice?
Regards,
KerrI don't have problem to create the XSLT mapping.
But because it is to create a flat-file upload for a Business Object XAI Inbound Service, it doesn't have a schema on the server as to the thread Create Schema for Business Object to use for XAI Inbound Service?
And I can't create that flat-file upload without a schema on the server.
Or I can use the BO XAI Inbound Service WSDL instead to create the mapping for the flat-file upload.
Regards,
Kerr -
Using a Response XSL on XAI Inbound Service creates an invalid XML
I created a Response XSL and plugged it into my XAI Inbound Service, however the Response XML it creates is invalid:
<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">
<SOAP-ENV:Body >
*<?xml version="1.0" encoding="UTF-8"?>*
<CmAccountSearch>
<Request AccountNumber="" StreetNumber="740" StreetLine1="Polaris Ave" City="Foster City" State="CA"/>
<Response ReturnCode="I">
<CustomerDetailsList AccountNumber="9231764166" CustomerName="Rovno,Aleksandr" AmountDue="0" IsCashOnly="false" StreetLine1="740 Polaris Ave"/>
<CustomerDetailsList AccountNumber="0304039866" CustomerName="Ray,Jamse" AmountDue="0" IsCashOnly="false" StreetLine1="740 Polaris Ave"/>
</Response>
</CmAccountSearch>
</SOAP-ENV:Body >
</SOAP-ENV:Envelope>
Note that a second <?xml...> tag is created after the SOAP tags.
Here is my XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<CmAccountSearch>
<xsl:apply-templates/>
</CmAccountSearch>
</xsl:template>
<xsl:template match="input">
<xsl:element name="Request">
<xsl:attribute name="AccountNumber">
<xsl:value-of select="accountId"/>
</xsl:attribute>
<xsl:attribute name="StreetNumber">
<xsl:value-of select="streetNumber"/>
</xsl:attribute>
<xsl:attribute name="StreetLine1">
<xsl:value-of select="streetName"/>
</xsl:attribute>
<xsl:attribute name="City">
<xsl:value-of select="city"/>
</xsl:attribute>
<xsl:attribute name="State">
<xsl:value-of select="state"/>
</xsl:attribute>
</xsl:element>
</xsl:template>
<xsl:template match="output">
<xsl:element name="Response">
<xsl:attribute name="ReturnCode">
<xsl:value-of select="returnCode"/>
</xsl:attribute>
<xsl:for-each select ="//customerDetails">
<xsl:element name="CustomerDetailsList">
<xsl:attribute name="AccountNumber">
<xsl:value-of select="accountId"/>
</xsl:attribute>
<xsl:attribute name="CustomerName">
<xsl:value-of select="customerName"/>
</xsl:attribute>
<xsl:attribute name="AmountDue">
<xsl:value-of select="currentAmountDue"/>
</xsl:attribute>
<xsl:attribute name="IsCashOnly">
<xsl:value-of select="cashOnlySw"/>
</xsl:attribute>
<xsl:attribute name="StreetLine1">
<xsl:value-of select="premiseAddressLine1"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Here is the Response XML before applying the Response XSL to the XAI Inbound Service:
<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="urn:schemas-xmlsoap-org:envelope">
<SOAP-ENV:Body >
<CmAccountSearch>
<input>
<accountId/>
<streetNumber>740</streetNumber>
<streetName>Polaris Ave</streetName>
<city>Foster City</city>
<state>CA</state>
</input>
<output>
<customerDetails>
<accountId>9231764166</accountId>
<customerName>Rovno,Aleksandr</customerName>
<currentAmountDue>0</currentAmountDue>
<cashOnlySw>false</cashOnlySw>
<premiseAddressLine1>740 Polaris Ave</premiseAddressLine1>
</customerDetails>
<customerDetails>
<accountId>0304039866</accountId>
<customerName>Ray,Jamse</customerName>
<currentAmountDue>0</currentAmountDue>
<cashOnlySw>false</cashOnlySw>
<premiseAddressLine1>740 Polaris Ave</premiseAddressLine1>
</customerDetails>
<returnCode>I</returnCode>
</output>
</CmAccountSearch>
</SOAP-ENV:Body >
</SOAP-ENV:Envelope>
I would like to know if anyone is familiar with this issue and how I can go about to fix it.
Any response will be greatly appreciated.
Thanks in advance.Just set RETRIEVE_SW to 'false', APPT_RETRIEVE_FLG will be automatically set to 'C' internally.
Setting ACTION_SHOW_APP_SW to true has no meaning for pageAction 'read'. -
Cancel Payment using XAI Inbound Service (CC&B)
Hi All,
Do you have any idea how to cancel payment using XAI in CC&B?
Now Im using xai Inbound service (SSvcPaymentEventMaintenance) to do cancellation process, but it just affects for the payment status only, meaning payment and payment tender status become cancel but the payment amount for the related bill is still not deducted. The bill is still in status "Fully Matched". Seems the financial transaction for payment cancellation is not created. Any idea about this ?
Thank you,
TaufixYou must use a Business Service to perform such actions, although there is no such default available even in the Demo data, follow below steps (assuming you are on CC&B 2.2.x or higher):
- Create/Configure a Business Service using Service Program 'CILPTNDP - Cancel Payment Tender'.
- Create/Configure a SS with following steps (SS Schema would contain the Payment Event Id):
1. Invoke/read Payment Event and retrieve the PAY_TENDER_ID
2. Invoke Business Service created above for each PAY_TENDER_ID by providing the Cancel Reason Code.
- Expose above created SS as an XAI Inbound Service. -
How to get only mandatory elements of BO schema using XAI Inbound service
Hi Folks,
I create a XAI Inbound service for a BO and I just want to generate the WSDL xml request schema with only mandatory fields of that BO.
How to acheive this? Is it possible and is there any solution already for this?Hi Folks,
I create a XAI Inbound service for a BO and I just want to generate the WSDL xml request schema with only mandatory fields of that BO.
How to acheive this? Is it possible and is there any solution already for this? -
How XAI inbound service creates an activity ?
Hi,
Can any one help me with how an XAI inbound service creates an activity on invoking from middle ware and the same automatically creates an outbound communication?
any help will be appreciated.You cannot extend the MO with a BO, as the MO is Read Only.
See the MO Option +'BO Maintenance (Y/N)'+ for 'BATCH JOB'.
Alternatively, you can define a Business Service instead. Use Service *'CILZRBPP'*, below is an example (element values have been defaulted for demonstration purposes):
<schema pageAction="add">
<batchJobId mapField="BATCH_JOB_ID"/>
<batchCode mapField="BATCH_CD" default="TD-BTERR"/>
<userId mapField="USER_ID"/>
<programName mapField="PROGRAM_NAME" default="CIPQBERB"/>
</schema>XAI Submission:
<RXS-BatchSubmission>
</RXS-BatchSubmission>Result/Response:
<RXS-BatchSubmission>
<batchJobId>23110150739990</batchJobId>
<batchCode>TD-BTERR</batchCode>
<userId>SYSUSER</userId>
<programName>CIPQBERB</programName>
</RXS-BatchSubmission>if your Batch Daemon is running, batch will be executed without any delay. -
OUAF / MDM 2.0.1 / XAI Submission error 11001.101
I am trying to input an Device Event with "XAI Submission" but the following error occured:
<ResponseStatus>F</ResponseStatus>
<ResponseCode>1016</ResponseCode>
<ResponseText>Unexpected error during request processing. (Server Message)
Category: 11001
Number: 101
Call Sequence:
Program Name: DeviceEvent_CHandler
Text: Status field missing
Description: A mandatory field has been left blank. Please enter a value and retry your request.
Table: D1_DVC_EVT
Field: BO_STATUS_CD</ResponseText>
<ResponseData numParm="1" text="Unexpected error during request processing. (Server Message)
Category: 11001
Number: 101
Call Sequence:
Program Name: DeviceEvent_CHandler
Text: Status field missing
Description: A mandatory field has been left blank. Please enter a value and retry your request.
Table: D1_DVC_EVT
Field: BO_STATUS_CD" category="11011" number="1016" parm1="(Server Message)
Category: 11001
Number: 101
Call Sequence:
Program Name: DeviceEvent_CHandler
Text: Status field missing
Description: A mandatory field has been left blank. Please enter a value and retry your request.
Table: D1_DVC_EVT
Field: BO_STATUS_CD" />
This is my XML:
<?xml version="1.0" encoding="UTF-8"?>
<D1-DeviceEventSeeder>
<bo>D1-DeviceEvent</bo>
<boStatus>Tampering</boStatus>
<externalSenderID>V2-DEE-PWI</externalSenderID>
<deviceIdentifierNumber>82958370</deviceIdentifierNumber>
<externalEventName>Tampering</externalEventName>
<eventDateTime>2012-09-12-10.00.00</eventDateTime>
</D1-DeviceEventSeeder>Tks, but now other error ocurred: category="11011" number="1016"
<ResponseStatus>F</ResponseStatus>
<ResponseCode>1016</ResponseCode>
<ResponseText>Unexpected error during request processing. (Server Message)
Category: 11801
Number: 12301
Call Sequence:
Program Name: ServiceBeanSessionHelper$1$1
Text: Sender is missing.
Description:
Table: null
Field: null</ResponseText>
<ResponseData numParm="1" text="Unexpected error during request processing. (Server Message)
Category: 11801
Number: 12301
Call Sequence:
Program Name: ServiceBeanSessionHelper$1$1
Text: Sender is missing.
Description:
Table: null
Field: null" category="11011" number="1016" parm1="(Server Message)
Category: 11801
Number: 12301
Call Sequence:
Program Name: ServiceBeanSessionHelper$1$1
Text: Sender is missing.
Description:
Table: null
Field: null" /> -
Creating XAI inbound schema for add transaction
Hi friends,
I am tring to creating xai inbound service for add transaction using business objects, when i tested that inbound service through dynamic xai i am getting error like this ,would some body suggest me to solve this.
Transformation Error
com.splwg.shared.common.LoggedException;
Logged Exception was rethrown;
com.splwg.base.web.xaiui.webxaischemaRepository.getSchemaFileNameFor
ServiceAndVersion(WebXaiSchemaRepository.java:84)
XAI Submission tab error for CMADDMETERREAD
thanks and regards
sivaramRegistered Inbound Service should work either from 'XAI Dynamic Submission' or 'XAI Submission'.
Alternatively, you could also input/provide values on the 'XAI Dynamic Submission' screen, click 'Show XML', copy the SOAP Envelope, and paste on 'XAI Submission' screen for testing purposes.
This approach would be similar to soapUI.
Ensure that parameters/values on 'XAI Options' are configured correctly as per your installation. -
Inbound Service Interface without Input Request Message
Is it possible to create an Inbound Service Interface without Input Request Message? We are trying to create a web service to get all records from a database table hence no input parameter is needed. We have tried in both XI 7.0 and PI 7.1 but couldn't do it. Is this scenario not supported by ESR or am I missing something? Any hint will be appreciated.
Regards,
JiannanIn the scenario I described in my initial post the table structure is only needed in the response message to receive the data.
For a web service generated from a RFC function module using the service creation wizard (SE80) a table parameter is automatically included in the request message. I can understand this as the wizard can not figure out if the table parameter is needed in the request message or not.
I have tried to use the service creation wizard to generate a web service from the function module RFCPING that has no input or output parameters. As shown in below WSDL segment the WSDL does allow not having any input or output parameters.
- <wsdl:types>
- <xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style">
- <xsd:element name="Rfcping">
- <xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
- <xsd:element name="RfcpingResponse">
- <xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="Rfcping">
<wsdl:part name="parameters" element="tns:Rfcping" />
</wsdl:message>
- <wsdl:message name="RfcpingResponse">
<wsdl:part name="parameter" element="tns:RfcpingResponse" />
</wsdl:message>
Thanks,
Jiannan -
Any possiblity to use single Inbound Service Interface with multiple Receiver Agreements
Hi All,
Scenario: PROXY to FILE.
Requirement is to receive to two locations.
Is it possible to use single Inbound interface with multiple Receiver Agreements. I tried using two operation in the Inbound Service Interface, and Operation Specific in Determination. But couldnt proceed further. Do I need to use seperate Service Interface for two receiver locations?
Please suggest some solution.Hi Naveen,
There is a possibility but in the case in the same server location with dynamic configuration: Placing file in two different directories using single receiver communication Channel
With different location you would need to develop a new adapter module as Amit Srivastava explains and develops here Send File to Two Different Locations using Adapter Module
Regards. -
Hello,
my scenario:
PI is sending some data via XI Adapter to ERP (SAP ECC 6.0).
In PI SXMB_MONI shows us LOOP_IN_MESSAGE_ROUTING.
Some points:
- Proxy is generated and activated in ERP
- ERP is type of LOC (application system)
- Corresponding Integ. Server of ERP is our specific PI
- ERP HTTP port is running (SMICM->Services)
- XI Adapter is using messag protocol XI3.0
- XI Adapter refers to an HTTP RFC destination
- PI HTTP RFC destination to ERP uses /sap/xi/engine?type=entry as path prefix
- testing the PI HTTP RFC responses with: Empty HTTP request received (as suggested)
- calling ERPserver:HTTPport/sap/xi/engine?type=entry in local web browser results in: EMPTY_HTTP_REQUEST_RECEIVED (as suggested)
So why our message is send back from ERP to the sender PI integration engine and fails with LOOP_IN_MESSAGE_ROUTING?
Thanks in advance,
AndréHi,
error occours after calling the XI Adapter in CENTRAL pipeline:
HTTP-client: closing... External error header received Error exception return from pipeline processing! CENTRAL</SAP:P2>
<SAP:P3>XI</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack> Schleife im Nachrichtenfluss entdeckt: System is.00.sappi1a, Pipeline CENTRAL mit Inbound-Adapter XI bereits durchlaufen (siehe HopList-Header) </SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Many thanks,
André
Edited by: André Schillack on Dec 6, 2010 10:56 AM -
MDM 2: Unable to configure PageMaintenance Service deployed with cm.jar
Hello everyone,
we have a problem when we try to build a Business Service which maps a custom @PageMaintenance service. Artifacts and cm.jar seem to be created correctly, however when we create the Business Service which maps the Service Program (type: Java) we get the following error:
- 229774-174-1 2011-03-15 18:14:18,756 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR (support.schema.AbstractSchemaInfoCache) Error nitializing schema data for BusinessService_Per[CMTEST]: com.splwg.shared.common.ApplicationWarning: The Business Service CMTEST references program service CMTEST, which is not a valid service with meta-info, etc.
Looking at spl_service.log we found this WARNING:
2011-03-15 17:39:42,728 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] WARN (shared.environ.ContextManagedObjectSet) Could not load resource com/splwg/cm/domain/contextManagedObjects.xml on classpath. This may be harmless but could mean a problem with the classpath. Please verify that the classpath for application cm is correctly configured.The mentioned contextManagedObjects.xml is inside the produced cm.jar, in the right path, but we can't understand why is not loaded. Any suggestion?
We are using MDM 2.0.1 with SDK 4.0.0.5.
On previous version (MDM 2.0.0 with SDK 4.0.0.4) everything was w0rking fine.
Thanks,
GantoHi,
Is the artifact generator generated the following files?
a. Gen classes
b. Entry for package in contextManagedObjects.xml file under gen/com/splwg/cm/domain dir
c. XML file for the service program name mentioned in the Page Service Class annotation. (xml file will be created with list service name for each list service mentioned in the page service). ex, CMTEST.xml
And refresh the project and deploy the project to create cm.jar. Restart the application. -
MDM Session Exception While Creating Web Services
Hi all i am creating webservices over a java class. My Java class connects with MDM and fethes the data. When I am running my java class it is able to fetch the values from MDM but when i am exposing this method to web services I am getting request same as my method but the I am not getting any response, What i am getting is "An error has occurred. Maybe the request is not accepted by the server:
com/sap/mdm/session/MdmSessionContext" . Also the response is
HTTP/1.1 500 Internal Server Error
Connection: close
Server: SAP J2EE Engine/7.00
Content-Type: text/xml; charset=UTF-8
Date: Thu, 24 Sep 2009 17:04:02 GMT
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>com/sap/mdm/session/MdmSessionContext</faultstring><detail><ns1:java.lang.NoClassDefFoundError xmlns:ns1='http://sap-j2ee-engine/error'>com/sap/mdm/session/MdmSessionContext</ns1:java.lang.NoClassDefFoundError></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>Hi,
It looks like when you are running webservice it is not able to find some reference classes you might have missed to include one or more jar files while deploying the web service on server thats might be the reason as when you are running Java class it is working fine.
please follow below process and check if anything is missing.
Right click on project -> Properties -> Java Build Path
at this place you can see the reference projects and jar files in different tabs
go to tab Order & Export and see if the desired jar file is selected or not if not select it and deploy the application again.
Ninad
Maybe you are looking for
-
Guide Display - Not Very Clear
Why does Verizon's Guide display its main show title & all its contents on the third row down & not the top? Press Guide. The channel you wish to choose is the THIRD row down. Shouldn't it be the TOP? I say this because when you're scanning the chan
-
Help! iTunes doesn't recognized any of our devices. What can I do?
Help! iTunes doesn't recognized any of our devices. What can I do?
-
Adobe won't install on my window's 8
I tried all things, it keeps showing up as the server lost connection. It get to 45% complete then fails all together. I tried with a different brouser, restarted my computer, only had adobe running and all other windows closed. It won't work and it
-
Hi when ever i want to download an app on my ipad mini ios 7.4 it says i have to authorize
hi when ever i want to download an app on my ipad mini ios 7.4 it says i have to authorize please help thxx
-
How do I upload my playlists to an SD card to put them on my Android phone?