Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ksoap2命名空间前缀_Android_Xml_Namespaces_Ksoap2 - Fatal编程技术网

Android ksoap2命名空间前缀

Android ksoap2命名空间前缀,android,xml,namespaces,ksoap2,Android,Xml,Namespaces,Ksoap2,我正在编写一个Android应用程序,它需要使用ksoap2使用WCFSOAPWeb服务 传递到web服务的数据需要与从ASP.Net发送的数据匹配 ASP.NETSOAP <v:Envelope xmlns:i="http://www.w3.org/1999/XMLSchema-instance" xmlns:d="http://www.w3.org/1999/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" x

我正在编写一个Android应用程序,它需要使用ksoap2使用WCFSOAPWeb服务

传递到web服务的数据需要与从ASP.Net发送的数据匹配

ASP.NETSOAP

<v:Envelope xmlns:i="http://www.w3.org/1999/XMLSchema-instance" xmlns:d="http://www.w3.org/1999/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
  <v:Header />
  <v:Body>
    <SaveWaybill xmlns="ClearNamespace">
      <crossWayBill xmlns:n0="http://schemas.datacontract.org/2004/07/CrossWCFService">
        <n0:WayNo>095-090317-1133</n0:WayNo>
        <n0:FinishDateTime>2017-03-09T11:36:03.000Z</n0:FinishDateTime>
        <n0:StartDateTime>2017-03-09T11:33:56.000Z</n0:StartDateTime>
      </crossWayBill>
      <crossWayBillBreakdownItems xmlns:n1="http://schemas.datacontract.org/2004/07/CrossWCFService">
        <n1:CrossService.CrossWaybillBreakdownItem>
          <n1:WayBillItemId>1</n1:WayBillItemId>
          <n1:Quantity>10</n1:Quantity>
        </n1:CrossService.CrossWaybillBreakdownItem>
        <n1:CrossService.CrossWaybillBreakdownItem>
          <n1:WayBillItemId>2</n1:WayBillItemId>
          <n1:Quantity>20</n1:Quantity>
        </n1:CrossService.CrossWaybillBreakdownItem>
        <n1:CrossService.CrossWaybillBreakdownItem>
          <n1:WayBillItemId>3</n1:WayBillItemId>
          <n1:Quantity>30</n1:Quantity>
        </n1:CrossService.CrossWaybillBreakdownItem>
        <n1:CrossService.CrossWaybillBreakdownItem>
          <n1:WayBillItemId>4</n1:WayBillItemId>
          <n1:Quantity>40</n1:Quantity>
        </n1:CrossService.CrossWaybillBreakdownItem>
        <n1:CrossService.CrossWaybillBreakdownItem>
          <n1:WayBillItemId>5</n1:WayBillItemId>
          <n1:Quantity>50</n1:Quantity>
        </n1:CrossService.CrossWaybillBreakdownItem>
      </crossWayBillBreakdownItems>
    </SaveWaybill>
  </v:Body>
</v:Envelope>
我得到:-

<v:Envelope xmlns:i="http://www.w3.org/1999/XMLSchema-instance" xmlns:d="http://www.w3.org/1999/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
  <v:Header />
  <v:Body>
    <SaveWaybill xmlns="ClearNamespace">
      <n0:crossWayBill xmlns:n0="http://schemas.datacontract.org/2004/07/CrossWCFService">
        <WayNo>095-090317-1133</WayNo>
        <StartDateTime>09-Mar-2017 11:33:56</StartDateTime>
        <FinishDateTime>09-Mar-2017 11:36:03</FinishDateTime>
      </n0:crossWayBill>
      <n1:crossWayBillBreakdownItems xmlns:n1="http://schemas.datacontract.org/2004/07/CrossWCFService">
        <CrossService.CrossWaybillBreakdownItem>
          <WayBillId>0</WayBillId>
          <WayBillItemId>1</WayBillItemId>
          <Quantity>0</Quantity>
        </CrossService.CrossWaybillBreakdownItem>
        <CrossService.CrossWaybillBreakdownItem>
          <WayBillId>0</WayBillId>
          <WayBillItemId>2</WayBillItemId>
          <Quantity>0</Quantity>
        </CrossService.CrossWaybillBreakdownItem>
        <CrossService.CrossWaybillBreakdownItem>
          <WayBillId>0</WayBillId>
          <WayBillItemId>3</WayBillItemId>
          <Quantity>0</Quantity>
        </CrossService.CrossWaybillBreakdownItem>
        <CrossService.CrossWaybillBreakdownItem>
          <WayBillId>0</WayBillId>
          <WayBillItemId>4</WayBillItemId>
          <Quantity>0</Quantity>
        </CrossService.CrossWaybillBreakdownItem>
        <CrossService.CrossWaybillBreakdownItem>
          <WayBillId>0</WayBillId>
          <WayBillItemId>5</WayBillItemId>
          <Quantity>0</Quantity>
        </CrossService.CrossWaybillBreakdownItem>
      </n1:crossWayBillBreakdownItems>
    </SaveWaybill>
  </v:Body>
</v:Envelope>

095-090317-1133
2017年3月9日11:33:56
2017年3月9日11:36:03
0
1.
0
0
2.
0
0
3.
0
0
4.
0
0
5.
0

如何使命名空间声明(xmlns:n0=“…”)显示在crossWayBill和crossWayBillBreakdownItems节点上,并使前缀(n0:)显示在所有子节点上,但不显示在crossWayBill和crossWayBillBreakdownItems节点上?

我通过作弊获得了想要的结果

我没有指定名称空间,而是向SoapObject添加了一个属性,并将前缀硬编码到子节点上

SoapObject waybill = new SoapObject("", "crossWayBill");
waybill.addAttribute("xmlns:n0", "http://schemas.datacontract.org/2004/07/CrossWCFService");
waybill.addProperty("n0:WayNo", WaybillNumber);
waybill.addProperty("n0:FinishDateTime", FinishDateTime);
waybill.addProperty("n0:StartDateTime", StartDateTime);
这给了我以下信息,我的soap请求被web服务接受

<SaveWaybill xmlns="ClearNamespace">
  <crossWayBill xmlns:n0="http://schemas.datacontract.org/2004/07/CrossWCFService">
    <n0:WayNo>095-090317-1133</n0:WayNo>
    <n0:FinishDateTime>2017-03-09T11:36:03.000Z</n0:FinishDateTime>
    <n0:StartDateTime>2017-03-09T11:33:56.000Z</n0:StartDateTime>
  </crossWayBill>

095-090317-1133
2017-03-09T11:36:03.000Z
2017-03-09T11:33:56.000Z

我通过作弊得到了我想要的

我没有指定名称空间,而是向SoapObject添加了一个属性,并将前缀硬编码到子节点上

SoapObject waybill = new SoapObject("", "crossWayBill");
waybill.addAttribute("xmlns:n0", "http://schemas.datacontract.org/2004/07/CrossWCFService");
waybill.addProperty("n0:WayNo", WaybillNumber);
waybill.addProperty("n0:FinishDateTime", FinishDateTime);
waybill.addProperty("n0:StartDateTime", StartDateTime);
这给了我以下信息,我的soap请求被web服务接受

<SaveWaybill xmlns="ClearNamespace">
  <crossWayBill xmlns:n0="http://schemas.datacontract.org/2004/07/CrossWCFService">
    <n0:WayNo>095-090317-1133</n0:WayNo>
    <n0:FinishDateTime>2017-03-09T11:36:03.000Z</n0:FinishDateTime>
    <n0:StartDateTime>2017-03-09T11:33:56.000Z</n0:StartDateTime>
  </crossWayBill>

095-090317-1133
2017-03-09T11:36:03.000Z
2017-03-09T11:33:56.000Z
<SaveWaybill xmlns="ClearNamespace">
  <crossWayBill xmlns:n0="http://schemas.datacontract.org/2004/07/CrossWCFService">
    <n0:WayNo>095-090317-1133</n0:WayNo>
    <n0:FinishDateTime>2017-03-09T11:36:03.000Z</n0:FinishDateTime>
    <n0:StartDateTime>2017-03-09T11:33:56.000Z</n0:StartDateTime>
  </crossWayBill>