Symptom
Unable to add output channel to account through SOAP webservice
Environment
SAP BusinessByDesign
Reproducing the Issue
To find the webservice:
- Go to Application and User Management workcenter
- Go to Input and Output Management view
- Go to Service Explorer subview
- Search for the webservice ManageCustomerIn
- Select the button Download WSDL to download the WSDL file for the webservice
Using a third party tool like SOAPUI, run the Request Payload:
- Login to SOAPUI tool
- Select File -> New SOAP Project
- In the Initial WSDL field, browse for the downloaded WSDL file for ManageCustomerIn
- Expand the node: MaintainBundle_V1
- Paste the Request payload
- At the bottom of the screen, select Auth (Basic)
- Provide the relevant credentials and the domain
- Run the Request Payload
You are sending an XML request similar to the following XML request via SOAP UI.
Any data used in below payload does not point to particular customer
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global" xmlns:y2j="http://0005840767-one-off.sap.com/Add-on__" xmlns:yk3="http://0005840767-one-off.sap.com/Add-on_" xmlns:glob1="http://sap.com/xi/AP/Globalization">
<soapenv:Header/>
<soapenv:Body>
<glob:CustomerBundleMaintenanceCheckRequest_sync_V1>
<Customer actionCode="02">
<!--communicationArrangementListCompleteTransmissionIndicator="false"
communicationArrangementMultiChannelListCompleteTransmissionIndicator="false"
-->
<InternalID>ABCDEF</InternalID>
<CommunicationArrangementMultiChannel actionCode="02"
communicationChannelListCompleteTransmissionIndicator="true">
<CompoundServiceInterfaceCode>28</CompoundServiceInterfaceCode>
<CommunicationChannel communicationEmailListCompleteTransmissionIndicator="true">
<CommunicationMediumTypeCode>PRT</CommunicationMediumTypeCode>
<OutputRequestFormTemplateCode>C4134</OutputRequestFormTemplateCode>
</CommunicationChannel>
</CommunicationArrangementMultiChannel>
</Customer>
</glob:CustomerBundleMaintenanceCheckRequest_sync_V1>
</soapenv:Body>
</soapenv:Envelope>
ABCDEF stands for the internal account number
No printer output channel for the customer invoice is created in accounts .
Cause
You're using web service method "CustomerBundleMaintenanceCheckRequest_sync_V1" - this is only a _check_ method which returns
a success XML in case the corresponding maintenance succeeds.(the "....Check..." simply leaves out the Save and resets the transaction after trying to book the changes).
Resolution
Method "CustomerBundleMaintainRequest_sync_V1" is the correct method where real maintenance is performed and saved.
See Also
Keywords
Output Channel, ManageCustomerIn , CustomerBundleMaintenanceCheckRequest_sync_V1 ,CustomerBundleMaintainRequest_sync_V1 , KBA , output channel , managecustomerin , customerbundlemaintainrequest_sync_v1 , customerbundlemaintenance check request , SRD-MD-BP , Business Partner , Problem