使用Curl命令执行soap请求时出错(linux)

使用Curl命令执行soap请求时出错(linux),curl,soap,Curl,Soap,我使用curl命令向web服务发布soap请求。我有一个文件(query.xml),它附带了所有的soap消息,但我似乎无法正确地发布它 curl命令 curl -s -H "Content-Type: text/soap+xml;charset=UTF-8" -H "SOAPAction:" -d @query.xml http://10.130.9.79:7782/services/CBSInterfaceBusinessMgrService query.xml <q2:QueryB

我使用curl命令向web服务发布soap请求。我有一个文件(query.xml),它附带了所有的soap消息,但我似乎无法正确地发布它

curl命令

curl -s -H "Content-Type: text/soap+xml;charset=UTF-8" -H "SOAPAction:" -d @query.xml http://10.130.9.79:7782/services/CBSInterfaceBusinessMgrService
query.xml

<q2:QueryBasicInfoRequestMsg
    xmlns:q0="http://www.huawei.com/bme/cbsinterface/cbs/businessmgr"
    xmlns:q1="http://www.huawei.com/bme/cbsinterface/common"
    xmlns:q2="http://www.huawei.com/bme/cbsinterface/cbs/businessmgrmsg">
    <parameter name="enableREST">true</parameter>
    <RequestHeader>
            <q1:CommandId>QueryBasicInfo
            </q1:CommandId>
            <q1:Version>1
            </q1:Version>
            <q1:TransactionId/>
                    <q1:SequenceId>1
                    </q1:SequenceId>
                    <q1:RequestType>Event
                    </q1:RequestType>
                    <q1:SerialNo>03020000003
                    </q1:SerialNo>
    </RequestHeader><QueryBasicInfoRequest>q0:SubscriberNo>9150000014</q0:SubscriberNo> <q0:QueryType>3</q0:QueryType> </QueryBasicInfoRequest</q2:QueryBasicInfoRequestMsg>

真的
QueryBasicInfo
1.
1.
事件
03020000003

q0:SubscriberNo>9150000014 3 com.ctc.wstx.exc.WstxUnexpectedCharException:序言中的意外字符“-”(代码45);curl命令行是完美的。您的soap信封有问题。我可以看出您没有正确关闭标签。那里缺少

</QueryBasicInfoRequest</q2:QueryBasicInfoRequestMsg>
                       ^ missing '>' character here

您的示例XML不正确,不可解析。使用下面的一个,我已经手动更正。
我不确定您的web服务是否真的是SOAP服务,因为我在您的请求中根本没有找到SOAPEnvelope。不管怎样,我认为下面的内容应该适合你

<q2:QueryBasicInfoRequestMsg
xmlns:q0="http://www.huawei.com/bme/cbsinterface/cbs/businessmgr"
xmlns:q1="http://www.huawei.com/bme/cbsinterface/common"
xmlns:q2="http://www.huawei.com/bme/cbsinterface/cbs/businessmgrmsg">
<parameter name="enableREST">true</parameter>
<RequestHeader>
    <q1:CommandId>QueryBasicInfo
    </q1:CommandId>
    <q1:Version>1
    </q1:Version>
    <q1:TransactionId/>
    <q1:SequenceId>1
    </q1:SequenceId>
    <q1:RequestType>Event
    </q1:RequestType>
    <q1:SerialNo>03020000003
    </q1:SerialNo>
</RequestHeader>
<QueryBasicInfoRequest><q0:SubscriberNo>9150000014</q0:SubscriberNo>
<q0:QueryType>3</q0:QueryType>

真的
QueryBasicInfo
1.
1.
事件
03020000003
9150000014
3.

我已经编辑了xml文件,但仍然收到以下错误“prolog中[row,col{unknown source}]的意外EOF:[1,0]”。如果这不起作用,请告诉我,我应该能够帮助您创建SOAPEnvelope并在其中添加xml?
<q2:QueryBasicInfoRequestMsg
xmlns:q0="http://www.huawei.com/bme/cbsinterface/cbs/businessmgr"
xmlns:q1="http://www.huawei.com/bme/cbsinterface/common"
xmlns:q2="http://www.huawei.com/bme/cbsinterface/cbs/businessmgrmsg">
<parameter name="enableREST">true</parameter>
<RequestHeader>
    <q1:CommandId>QueryBasicInfo
    </q1:CommandId>
    <q1:Version>1
    </q1:Version>
    <q1:TransactionId/>
    <q1:SequenceId>1
    </q1:SequenceId>
    <q1:RequestType>Event
    </q1:RequestType>
    <q1:SerialNo>03020000003
    </q1:SerialNo>
</RequestHeader>
<QueryBasicInfoRequest><q0:SubscriberNo>9150000014</q0:SubscriberNo>
<q0:QueryType>3</q0:QueryType>