gpt4 book ai didi

soapui - Mule 服务代理,COULD_NOT_READ_XML_STREAM

转载 作者:行者123 更新时间:2023-12-04 05:29:03 27 4
gpt4 key购买 nike

我设置了一个服务代理,并且能够查看 wsdl,但是当我尝试使用soapUI 对其进行测试时,它几乎似乎超时了。我将发布 mule 配置、soapUI 日志和 mule studio 日志。当我在没有代理的情况下正常访问 wdsl 时,这是一个快速响应。

Google 结果似乎没有产生太多结果,因此任何有关源、soapUI 或 Mule 的指导以及问题都会有所帮助。

骡子流

<flow name="UPCFlow1" doc:name="UPCFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="4040" path="upc" doc:name="HTTP" contentType="text/xml" mimeType="text/xml"/>

<cxf:proxy-service namespace="http://searchupc.com/" service="UPCSearch" payload="envelope" wsdlLocation="http://www.searchupc.com/service/UPCSearch.asmx?WSDL" doc:name="SOAP" enableMuleSoapHeaders="false"/>
<http:outbound-endpoint address="http://www.searchupc.com/"
exchange-pattern="request-response" doc:name="HTTP" contentType="text/xml" mimeType="text/xml"/>
</flow>

soapUI 错误日志
    Fri Oct 12 13:32:08 CDT 2012:ERROR:java.net.SocketException: socket closed
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
at org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)
at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:246)
at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:204)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:167)
at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:196)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:155)
at org.apache.http.util.EntityUtils.toByteArray(EntityUtils.java:100)
at org.apache.http.entity.BufferedHttpEntity.<init>(BufferedHttpEntity.java:60)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpMethodSupport.getResponseBody(HttpMethodSupport.java:281)
at com.eviware.soapui.impl.wsdl.submit.transports.http.support.methods.ExtendedPostMethod.getResponseBody(ExtendedPostMethod.java:128)
at com.eviware.soapui.impl.wsdl.submit.transports.http.SinglePartHttpResponse.<init>(SinglePartHttpResponse.java:49)
at com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.WsdlSinglePartHttpResponse.<init>(WsdlSinglePartHttpResponse.java:36)
at com.eviware.soapui.impl.wsdl.submit.filters.HttpPackagingResponseFilter.wsdlRequest(HttpPackagingResponseFilter.java:71)
at com.eviware.soapui.impl.wsdl.submit.filters.HttpPackagingResponseFilter.afterAbstractHttpResponse(HttpPackagingResponseFilter.java:48)
at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.afterRequest(AbstractRequestFilter.java:64)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:297)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Eclipse 控制台
    INFO  2012-10-12 13:31:06,229 [[upc].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2012-10-12 13:31:06,234 [[upc].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO 2012-10-12 13:31:06,234 [[upc].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2012-10-12 13:31:06,235 [[upc].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'connector.http.mule.default.dispatcher.2040380475'. Object is: HttpClientMessageDispatcher
INFO 2012-10-12 13:31:06,239 [[upc].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'connector.http.mule.default.dispatcher.2040380475'. Object is: HttpClientMessageDispatcher
WARN 2012-10-12 13:33:05,590 [[upc].connector.http.mule.default.receiver.02] org.apache.cxf.phase.PhaseInterceptorChain: Interceptor for {http://searchupc.com/}UPCSearch has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: COULD_NOT_READ_XML_STREAM
at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:133)
at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:117)
at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:113)
at org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:119)
at org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:232)
at org.mule.module.cxf.CxfInboundMessageProcessor$1.write(CxfInboundMessageProcessor.java:373)
at org.mule.transport.http.HttpServerConnection.writeResponse(HttpServerConnection.java:315)
at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:164)
at org.mule.work.WorkerContext.run(WorkerContext.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.ctc.wstx.exc.WstxParsingException: Duplicate attribute 'name'.
at [row,col {unknown-source}]: [29,468]
at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:612)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:485)
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:470)
at com.ctc.wstx.sr.AttributeCollector.throwDupAttr(AttributeCollector.java:522)
at com.ctc.wstx.sr.NsAttributeCollector.resolveNamespaces(NsAttributeCollector.java:248)
at com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:351)
at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2923)
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2783)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1048)
at org.mule.module.xml.stax.DelegateXMLStreamReader.next(DelegateXMLStreamReader.java:237)
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:551)
at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:513)
at org.apache.cxf.databinding.stax.StaxDataBinding$XMLStreamDataWriter.write(StaxDataBinding.java:124)
... 13 more
ERROR 2012-10-12 13:33:05,595 [[upc].connector.http.mule.default.receiver.02] org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: Software caused connection abort: socket write error
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.DataOutputStream.write(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.writeClosingChunk(ChunkedOutputStream.java:130)
at org.apache.commons.httpclient.ChunkedOutputStream.finish(ChunkedOutputStream.java:144)
at org.mule.transport.http.HttpServerConnection.writeResponse(HttpServerConnection.java:319)
at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:164)
at org.mule.work.WorkerContext.run(WorkerContext.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
ERROR 2012-10-12 13:33:05,602 [[upc].connector.http.mule.default.receiver.02] org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: Software caused connection abort: socket write error
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at java.io.DataOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at java.io.FilterWriter.flush(Unknown Source)
at org.mule.transport.http.ResponseWriter.flush(ResponseWriter.java:69)
at org.mule.transport.http.HttpServerConnection.writeResponse(HttpServerConnection.java:300)
at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:201)
at org.mule.work.WorkerContext.run(WorkerContext.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

最佳答案

有几个问题:

  • 远程网络服务地址错误,
  • 失踪 cxf:proxy-client元素,
  • 缺少复制 SOAPAction(如果不使用 SOAP 1.2)。

  • 下面是 SOAP 1.1 的固定示例。请注意,我已将 CXF 元素放置在端点内:这不是必需的(它们可以直接在流中),而只是将它们放置在配置中的常用方法。
    <flow name="UPCFlow1">
    <http:inbound-endpoint exchange-pattern="request-response"
    host="localhost" port="4040" path="upc">
    <cxf:proxy-service namespace="http://searchupc.com/"
    service="UPCSearch" payload="body"
    wsdlLocation="http://www.searchupc.com/service/UPCSearch.asmx?WSDL"
    enableMuleSoapHeaders="false" />
    </http:inbound-endpoint>
    <copy-properties propertyName="SOAPAction" />
    <http:outbound-endpoint
    address="http://www.searchupc.com/supc/service/UPCSearch.asmx"
    exchange-pattern="request-response" method="POST">
    <cxf:proxy-client payload="body" />
    </http:outbound-endpoint>
    </flow>

    对于 SOAP 1.2:
    <flow name="UPCFlow1">
    <http:inbound-endpoint exchange-pattern="request-response"
    host="localhost" port="4040" path="upc">
    <cxf:proxy-service namespace="http://searchupc.com/"
    service="UPCSearch" payload="body"
    wsdlLocation="http://www.searchupc.com/service/UPCSearch.asmx?WSDL"
    enableMuleSoapHeaders="false" />
    </http:inbound-endpoint>
    <http:outbound-endpoint
    address="http://www.searchupc.com/supc/service/UPCSearch.asmx"
    exchange-pattern="request-response" method="POST">
    <cxf:proxy-client payload="body" soapVersion="1.2" />
    </http:outbound-endpoint>
    </flow>

    关于soapui - Mule 服务代理,COULD_NOT_READ_XML_STREAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865349/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com