I create WSO2 ESB Proxy service for back end service. I can success call my DEV WCF service endpoint which hosted in DEV server and the endpoint is the DEV server name.
But i use same way to call the test environment endpoint, test endpoint is a Big Ip endpoints. It's seem WSO2 can't access the Big Ip endpoints.
From the debug info.(My big ip endpoint is https://hostname/201507/servicename.svc)
[2015-07-08 11:48:21,786] DEBUG - headers http-outgoing-3 >> POST /201507/servicename.svc HTTP/1.1
[2015-07-08 11:48:21,786] DEBUG - headers http-outgoing-3 >> Content-Type: application/soap+xml
[2015-07-08 11:48:21,787] DEBUG - headers http-outgoing-3 >> Transfer-Encoding: chunked
[2015-07-08 11:48:21,787] DEBUG - headers http-outgoing-3 >> Host: hostname:80
[2015-07-08 11:48:21,787] DEBUG - headers http-outgoing-3 >> Connection: Keep-Alive
[2015-07-08 11:48:21,787] DEBUG - headers http-outgoing-3 >> User-Agent: Synapse-PT-HttpComponents-NIO
It's seems WSO2 can't success post SOAP to right endpoint, have wrong port(80).
I also try to hard code the port like this https://hostname:443/201507/servicename.svc, but no luck same error.
Does anyone know the reason about this?
This may cause by default WSO2 using the chunked-encoding to call the back end service.
Issue: Port 80 for https. This is a bug in wso2 ESB4.8.1 (https://wso2.org/jira/browse/ESBJAVA-3336)
My issue may cause by wso2 default using HTTP 1.1 with Transfer-Encoding: chunked to call back end endpoint.
But my test environment backend servcie can't support chunking Encoding. This cause the error.
Add
<property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
For Pass Through Proxy:
Content length is not right when disable chunking in ESB.
see bug in https://wso2.org/jira/browse/ESBJAVA-3297
For other:
It's working! but if your client is SOAP11 will send ContentType as "text/xml" and you back end accept "application/soap+xml". you need to add
<property name="messageType" value="application/soap+xml" scope="axis2" type="STRING"/>
<property name="ContentType" value="application/soap+xml" scope="axis2" type="STRING"/>
(default not needed property ContentType)