Post 向代理服务WSO2发送请求

Post 向代理服务WSO2发送请求,post,wso2,synapse,wso2esb,Post,Wso2,Synapse,Wso2esb,我正在向代理服务发送post请求,但其给出错误。。。我怎样才能解决这个问题 [2012-06-15 12:24:27,656] INFO - BuilderUtil OMException in getSOAPBuilder org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0] a

我正在向代理服务发送post请求,但其给出错误。。。我怎样才能解决这个问题

[2012-06-15 12:24:27,656]  INFO - BuilderUtil OMException in getSOAPBuilder
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
    at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:688)
    at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
    at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:409)
    at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:261)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
    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)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686)
    at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
    at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
    ... 13 more
[2012-06-15 12:24:27,675]  INFO - BuilderUtil Remaining input stream :[]
[2012-06-15 12:24:27,675] ERROR - ServerWorker Error processing POST request 
org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:180)
    at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:409)
    at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:261)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
    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)
Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
    at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
    at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:688)
    at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:197)
    at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
    at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
    ... 6 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
    at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686)
    at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
    at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
    ... 13 more

我没有得到dis错误的确切原因,POST请求的内容类型是什么。如果没有使用内容类型的消息fomatter和builder,则会发生此错误。

POST请求的内容类型是什么。如果您没有使用内容类型的fomatter和builder消息,则会发生此错误。

我花了7天时间处理此错误。这个错误有很多不同的答案

当您的web服务返回到wso代理时,就会出现这种情况:主体为空、内容长度不正确或其他情况(有很多情况)


但在我的例子中,问题是,如果内容长度等于0,我路由“/”(POST方法)上的Web服务返回400代码。我认为wso2代理首先会向我的Web服务发送一些数据,这些数据有零内容长度的标题,也有没有这个标题,而我的Web服务只是“阻止”了这些数据,并返回400个代码。

我花了7天时间处理这个错误。这个错误有很多不同的答案

当您的web服务返回到wso代理时,就会出现这种情况:主体为空、内容长度不正确或其他情况(有很多情况)


但在我的例子中,问题是,如果内容长度等于0,我路由“/”(POST方法)上的Web服务返回400代码。我认为wso2代理首先会向我的Web服务发送一些数据,其中包含零内容长度的头或不包含此头,而我的Web服务只需“阻止”此数据并返回400代码。

Ok。然后在axis2.xml中,请检查您是否有用于内容类型application/JSON.Ok的JSON构建器和格式化程序。然后在axis2.xml中,请检查您是否有用于内容类型应用程序/JSON.Hi的JSON构建器和格式化程序。您是如何解决此问题的?
<proxy name="stripe" transports="https http" startOnLoad="true" trace="disable">
        <target>
            <endpoint>
                <address uri="https://api.stripe.com/v1"/>
            </endpoint>
            <inSequence>
                <log level="full" separator="SSSSSSSSSSSSSSSSSs">
                    <property name="HTTP_METHOD" value="post"/>
                </log>
                <send/>
            </inSequence>
            <outSequence>
                <log level="full" separator=", ooooooooooo"/>
                <send/>
            </outSequence>
        </target>
    </proxy>
curl https://localhost:8243/services/stripe/charges/ch_iQs4noWTm7J5Kk/refund  -u Ixj3FHIiQSFWrzb4VNSxoThKVk3IXpBF --insecure -X POST