2012-09-25 260 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

相关问题