[ 
https://issues.apache.org/jira/browse/ODE-1050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Vorobiov updated ODE-1050:
-------------------------------
    Attachment: response.txt
                request.txt
                HelloWorldWS.wsdl

> Service call fails for http binding with "text/plain" content type
> ------------------------------------------------------------------
>
>                 Key: ODE-1050
>                 URL: https://issues.apache.org/jira/browse/ODE-1050
>             Project: ODE
>          Issue Type: Bug
>          Components: Axis2 Integration
>    Affects Versions: 1.3.6
>            Reporter: Igor Vorobiov
>         Attachments: HelloWorldWS.wsdl, request.txt, response.txt
>
>
> There is problem with service call for http binding with "text/plain" content 
> type. Such call fails with following exception:
> {code}
> java.lang.IllegalArgumentException: The content cannot be null
>         at 
> org.apache.commons.httpclient.methods.StringRequestEntity.<init>(StringRequestEntity.java:93)
>         at 
> org.apache.ode.axis2.httpbinding.HttpMethodConverter.prepareHttpMethod(HttpMethodConverter.java:214)
> {code}
> It is caused by extract text content directly from partValue but probably 
> should be done for the first child:
> {code:title=org.apache.ode.axis2.httpbinding.HttpMethodConverter|borderStyle=solid}
>  ...
>   } else if (HttpUtils.isXml(contentType)) {
>          if (log.isDebugEnabled()) log.debug("Content-Type [" + contentType + 
> "] equivalent to 'text/xml'");
>           // stringify the first element
>          String xmlString = 
> DOMUtils.domToString(DOMUtils.getFirstChildElement(partValue)); // <--should 
> be like here
>          requestEntity = new StringRequestEntity(xmlString, contentType, 
> contentCharset);
>   } else {
>          if (log.isDebugEnabled())
>          log.debug("Content-Type [" + contentType + "] NOT equivalent to 
> 'text/xml'. The text content of part value will be sent as text");
>          // encoding conversion is managed by StringRequestEntity if necessary
>          requestEntity = new 
> StringRequestEntity(DOMUtils.getTextContent(partValue), contentType, 
> contentCharset); // <--get content directly
>   }
>  ...
> {code}
> Attached example with *operation name="Hello"*



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to