【问题标题】:Glassfih + WSO2 ESB 415 Unsupported media typeGlassfih + WSO2 ESB 415 不支持的媒体类型
【发布时间】:2012-09-13 19:56:09
【问题描述】:

我正在使用 Glassfish 上托管的 JAX-WS 在 WSO2ESB 中创建“通过代理”。

问题是代理不起作用,它发生在我在 ESB 中创建的 EVERY PROXY 指向每个 Glassfish 上的 Java Web 服务:控制台给出此错误 [1]。问题是 .Net 服务的代理可以正常工作。

1) 我已尝试使用 ESB tryit 工具 来使用该服务,我得到以下响应:

<TryitProxyError h:status="SOAP envelope error" xmlns:h="http://wso2.org/ns/TryitProxy">org.apache.axis2.AxisFault: Transport error: 415 Error: Unsupported Media Type</TryitProxyError>

2) 取而代之的是 soapUI 这给了我这样的信息:

Error loading [ClientProxy?xsd=http://192.168.10.176:8080/ESBAdminWebapp_SERVER/ClientProxy?xsd=1]: java.io.IOException: Attempted read from closed stream

192.168.10.176:8080 是 Glassfish 服务器。但如果我调用真正的 WSDL,它就可以工作......

我也尝试过全新安装 WSO2-ESB 和全新 Glassfish 服务器:

WSO2 ESB、Glassfish 和 IIS 现在已在本地安装以尝试发现问题。

请帮忙!

[1] 完整日志:

TID: [] [WSO2 ESB] [2012-09-24 11:31:11,689] INFO {org.apache.synapse.mediators.builtin.LogMediator} - To: /services/test.testHttpSoap12Endpoint, WSAction: http://my/Hello/helloRequest, SOAPAction: http://my/Hello/helloRequest, MessageID: urn:uuid:754dfcb5-1008-47ed-9c25-15327370ee11, Direction: request, Envelope: ? {org.apache.synapse.mediators.builtin.LogMediator 
[2012-09-24 11:31:11,689]  INFO - LogMediator To: /services/test.testHttpSoap12E
ndpoint, WSAction: http://my/Hello/helloRequest, SOAPAction: http://my/Hello/hel
loRequest, MessageID: urn:uuid:754dfcb5-1008-47ed-9c25-15327370ee11, 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:hello xmlns:
p="http://my/"><!--0 to 1 occurrence--><name>?</name></p:hello></soapenv:Body></
soapenv:Envelope>
[2012-09-24 11:31:11,694]  INFO - LogMediator To: http://www.w3.org/2005/08/addr
essing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:e9b224e8-2754-41
1f-8640-5922f1797202, Direction: response, Envelope: <?xml version='1.0' encodin
g='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envel
ope"><soapenv:Body><axis2ns7:binary xmlns:axis2ns7="http://ws.apache.org/commons
/ns/payload"></axis2ns7:binary></soapenv:Body></soapenv:Envelope>
[2012-09-24 11:31:11,697]  INFO - HTTPSender Unable to sendViaPost to url[http:/
/localhost:8280/services/test.testHttpSoap12Endpoint]
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.jav
a:194)
        at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessa
geWithCommons(CommonsHTTPTransportSender.java:449)
        at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(Com
monsHTTPTransportSender.java:276)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:443)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisO
peration.java:406)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(Out
InAxisOperation.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._jsp
Service(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:3
14)
        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(Con
textPathServletAdaptor.java:36)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleR
equest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(P
roxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyS
ervlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:164)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:304)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:164)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:462)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:164)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:100)
        at org.wso2.carbon.server.CarbonStuckThreadDetectionValve.invoke(CarbonS
tuckThreadDetectionValve.java:154)
        at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:254)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
563)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:399)
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcesso
r.java:396)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.pr
ocess(Http11NioProtocol.java:356)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin
t.java:1534)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
        at java.lang.Thread.run(Thread.java:662)

【问题讨论】:

    标签: wso2 glassfish wso2esb axis2 wso2carbon


    【解决方案1】:

    异常表明 Glassfish 响应以下 HTTP 错误:

    415 Error: Unsupported Media Type
    

    这可能意味着代理发送的 Content-Type 标头具有 Glassfish 不期望的值。

    【讨论】:

    • 那你有什么建议?附言相同的配置适用于本地部署。
    • 尝试拦截从 ESB 发送到 Glassfish 的请求以确定 Content-Type 是什么。
    • 你能给我一个拦截请求的方法吗?也请再次查看我的问题,因为我已经对其进行了编辑。我希望现在我在做什么更清楚了。
    • 这个问题可能已经在 StackOverflow 上得到解答。你需要稍微搜索一下。
    猜你喜欢
    • 2012-09-16
    • 2014-05-10
    • 2019-05-01
    • 2017-06-30
    • 2017-07-05
    • 2016-11-26
    • 2015-08-21
    相关资源
    最近更新 更多