2012-09-25 326 views
2

我希望我的公司使用Wso2ESB,但我只剩下兩天時間來說服他們,並且創建代理不起作用!wso2 esb不支持的媒體類型

我絕望了我的問題一個真正的幫助:每次我創建代理似乎產生

HTTPSender Unable to sendViaPost to... 

Transport error: 415 Error: Unsupported Media Type 

(是(爲什麼它不能發送了嗎?)因爲它不能發送?或配置有問題的結果?)

我新安裝的WSO2 ESB 4.5不適用於任何Web服務我曾嘗試過:JAXWS和C#。我總是有下列消息日誌:

[2012-05-09 08:42:19,381] INFO - LogMediator To: /services/NET.NETHttpSoap12Endpoint, WSAction: http://tempuri.org/Iuser/CheckUserExistsSimple, SOAPAction: http://tempuri.org/Iuser/CheckUserExistsSimple, MessageID: urn:uuid:6e46c985-3646-4441-ba8d-0c366c063c4b, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><p:CheckUserExistsSimple xmlns:p="http://tempuri.org/"><!--0 to 1 occurrence--><p:User>-</p:User></p:CheckUserExistsSimple></soapenv:Body></soapenv:Envelope> 
[2012-05-09 08:42:19,437] INFO - HTTPSender Unable to sendViaPost to url[http://192.168.10.177:8280/services/NET.NETHttpSoap12Endpoint] 
org.apache.axis2.AxisFault: Transport error: 415 Error: Unsupported Media Type 
     at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:308) 
     at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194) 
     at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75) 
     at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:450) 
     at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:277) 
     at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443) 
     at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406) 
     at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) 
     at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) 
     at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555) 
     at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531) 
     at org.apache.jsp.admin.jsp.WSRequestXSSproxy_005fajaxprocessor_jsp._jspService(WSRequestXSSproxy_005fajaxprocessor_jsp.java:272) 
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) 
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
     at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:161) 
     at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
     at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:36) 
     at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) 
     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) 
     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
     at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:58) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
     at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
     at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:179) 
     at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156) 
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
     at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:49) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:662) 
Unsupported Media Type[2012-05-09 08:44:32,644] WARN - ClientHandler I/O error : Connection reset by peer For : 192.168.10.71:80 

這裏是代理定義:

<proxy xmlns="http://ws.apache.org/ns/synapse" name="NET" transports="https,http" statistics="disable" trace="disable" startOnLoad="true"> 
    <target> 
     <inSequence> 
     <property name="useOriginalwsdl" value="true" scope="default" type="STRING"/> 
     <log level="full"/> 
     </inSequence> 
     <outSequence> 
     <send/> 
     </outSequence> 
     <endpoint> 
     <address uri="omitted"/> 
     </endpoint> 
    </target> 
    <publishWSDL uri="omitted?wsdl"/> 
    <description></description> 
</proxy> 

,當我嘗試使用的soapUI來調用代理服務,我得到這個消息:

Error loading [NET?xsd=...?xsd=xsd0]: java.io.IOException: Attempted read from closed

但如果我直接在Glassfish/IIS上調用真正的服務,它就可以工作。

+0

您是否正在使用soap 12端點?你能改變它到肥皂11,看看錯誤是否存在? –

+0

它不會更改錯誤 – nuvio

+0

@nuvio:多次發佈相同的問題(請參閱http://stackoverflow.com/questions/12529757/glassfih-wso2-esb-415-unsupported-media-type)不會增加獲得答案的可能性。 –

回答

2

這是因爲您發送您的請求中不支持的消息類型,它是用什麼ESB的消息類型不兼容..

您可以將您的客戶端和ESB之間的TCPMON和捕捉整個消息,並檢查你實際發送給ESB的是什麼?

而且做你的WSDL導入任何模式?..如果您使用發佈WSDL選項,您應該提供的所有模式..

一是更好地不使用發佈wsld,選項,首先嚐試將消息發送到代理,看看該服務是否正在接收

+0

非常感謝,我會盡你所說。 – nuvio

+0

如何提供模式?必須位於特定的ESB文件夾中? – nuvio

+0

它工作時沒有使用屬性useOriginalwsdl = true發佈WSDL +並調用HttpSoap11Endpoint。非常感謝您的耐心和知識! – nuvio

相關問題