WSDL soap request is getting error response

Avatar

Avatar

manpreetbhatia

Avatar

manpreetbhatia

manpreetbhatia

25-01-2021

Hi Team,

 

I have a process that calls a wsdl of a document sevrer using web service component in AEM Forms 6.5. There are multiple web service components configured in that process which works but it fails to invoke a partcular operation of the document server. 

The same process is working in ES4. One of the variable in that SOAP request is a string. That string data is a base64 value of a pdf document which is passed as a string in the SOAP request to the document server.

Not sure if it is causing this issue or something else.

 

I have also tried adding <?xml version="1.0"?> in SOAP request but still the same error. 

The workaround is to pass all the input values of the soap request making it hard coded. In this case, the web service gets a response when invoked. But i need the data to be dynamic as the data has to be filled by the users in workspace.

 

Below is the snippet of the error:

 

10:16:00,776 INFO [com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils] (SwingWorker) Loading schema types from [http://devnt10/ProxiWS/OwcEdocsWebservice.asmx?wsdl]
10:16:00,776 INFO [com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils] (SwingWorker) Getting schema http://devnt10/ProxiWS/OwcEdocsWebservice.asmx?wsdl
10:16:00,866 WARN [com.eviware.soapui.support.xml.XmlUtils] (default task-6) Failed to prettyPrint xml [The server cannot service the request because the media type is unsupported.]: org.apache.xmlbeans.XmlException: error: Unexpected element: CDATA
10:16:00,868 INFO [com.adobe.idp.dsc.webservice.WebServiceSoapUIInvoker] (default task-6) Response parsing error: failed to parse document from response.
Response: The server cannot service the request because the media type is unsupported.
10:16:00,869 ERROR [stderr] (default task-6) org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
10:16:00,870 ERROR [stderr] (default task-6) at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:245)
10:16:00,870 ERROR [stderr] (default task-6) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:298)

 

 

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Mayank_Gandhi

Employee

Avatar

Mayank_Gandhi

Employee

Mayank_Gandhi
Employee

01-02-2021

@manpreetbhatia  If hard-coded data is working in the workbench I doubt something is not right on how you are passing the value to the component. 

Answers (1)

Answers (1)

Avatar

Avatar

manpreetbhatia

Avatar

manpreetbhatia

manpreetbhatia

01-02-2021

@Mayank_Gandhi 

 

After checking the network logs, the response received from the document server to the AEM server

 

is that the content type is text/html, probabily this is why prolog error is coming.

Not sure if the document server is expecting content type as text/xml but it is getting text/html from the soap request.
How can I change the content type if the AEM is sending text/html in request
Here is the SOAP request :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:owc="http://www.onewayclear.com/OWCNamespaces/">
<soapenv:Header/>
<soapenv:Body>
<owc:UploadDocumentAsBinary>
<!--Optional:-->
<owc:document>{$/process_data/@docData$} </owc:document>
<!--Optional:-->
<owc:size>{$ /process_data/@docLength $}</owc:size>
<!--Optional:-->
<owc:form>{$ /process_data/@eDocsUploadForm $}</owc:form>
<!--Optional:-->
<owc:library>{$ /process_data/@eDocsLibrary $}</owc:library>
<!--Optional:-->
<owc:user>{$ /process_data/@eDocsUser $}</owc:user>
<!--Optional:-->
<owc:password>{$ /process_data/@eDocsPassword $}</owc:password>
<!--Optional:-->
<owc:properties>{$ /process_data/@documentProperties $}</owc:properties>
</owc:UploadDocumentAsBinary>
</soapenv:Body>
</soapenv:Envelope>

 

wireshark error.png