私は追跡しようとしている非常に奇妙なバグを持っています。私のコードでは、基本的なWebサービスを呼び出しています。複雑なタイプの特定のパラメータが表示されているという問題は、静的に設定しても、単に設定されていないという問題があります。複雑なタイプのパラメータがSoap Requestから欠落しています
コードのデバッグ時に、オブジェクトのプロパティが正しく設定されていることを確認しました。この問題は、SOAPリクエストを生成するときにのみ発生します。私は.netでビルトインされたWebサービスプロキシを使用してSOAPリクエストを生成しています(ビジュアルスタジオでWebサービスリファレンスを追加してください)
これについての助けがあれば幸いです。複合型OrderTransactionに設定されていない
要素は次のとおりです。 tracerId orderDateで updateTime
ここで私は見ています何の例です:
私は静的オブジェクト
を作成orderArray[0] = new OrderTransaction();
このオブジェクトにパラメータを設定します。
orderArray[0].tracerId = 47;
私のWebサービスを呼び出すと、このパラメータは複合型から完全に欠落しています。ここで
は、ここに私の複合型のXSD
<xs:complexType name="OrderTransaction">
<xs:sequence>
<xs:element minOccurs="0" name="cardType" type="xs:string" />
<xs:element name="ccEncryptedFlag" type="xs:short" />
<xs:element minOccurs="0" name="chainShortcode" type="xs:string" />
<xs:element minOccurs="0" name="channelCode" type="xs:string" />
<xs:element minOccurs="0" name="creditCardNumber" type="xs:string" />
<xs:element minOccurs="0" name="custIdMigratedToRex" type="xs:dateTime" />
<xs:element minOccurs="0" name="customerId" type="xs:long" />
<xs:element minOccurs="0" name="customerName" type="xs:string" />
<xs:element minOccurs="0" name="expirationMonth" type="xs:string" />
<xs:element minOccurs="0" name="expirationYear" type="xs:string" />
<xs:element minOccurs="0" name="orderDate" type="xs:dateTime" />
<xs:element name="orderId" type="xs:long" />
<xs:element minOccurs="0" name="provinceCode" type="xs:string" />
<xs:element name="totalItemTransactions" type="xs:short" />
<xs:element minOccurs="0" name="tracerId" type="xs:long" />
<xs:element minOccurs="0" name="updateTime" type="xs:dateTime" />
</xs:sequence>
の一例である私の現在のテストコードです:
ZBatch_PublisherService.ItemTransaction[] itemArray = new ItemTransaction[1];
ZBatch_PublisherService.OrderTransaction[] orderArray = new OrderTransaction[1];
itemArray[0] = new ItemTransaction();
itemArray[0].classId = 1153;
itemArray[0].fulfillmentCenterId = 123;
itemArray[0].fulfillmentType = "TEST";
itemArray[0].lineItemId = 597;
itemArray[0].migratedFlag = 0;
itemArray[0].taxAmount = Convert.ToDecimal("7.00");
itemArray[0].sku = "110853852";
itemArray[0].quantity = 1;
itemArray[0].taxService = "CSS";
itemArray[0].totalShippingAmount = Convert.ToDecimal("5.99");
itemArray[0].tracerId = 47;
itemArray[0].trackingNo = "abc2134";
itemArray[0].unitAmount = Convert.ToDecimal("79.99");
itemArray[0].updateTime = Convert.ToDateTime("2011-10-27T17:47:30");
orderArray[0] = new OrderTransaction();
orderArray[0].tracerId = 47;
orderArray[0].customerId = 15;
orderArray[0].cardType = "VISA";
orderArray[0].ccEncryptedFlag = 3;
orderArray[0].chainShortcode = "ABC";
orderArray[0].creditCardNumber = "1234566788";
orderArray[0].customerName = "John Doe";
orderArray[0].expirationMonth = "APR";
orderArray[0].expirationYear = "2014";
orderArray[0].orderDate = Convert.ToDateTime("2011-10-27T17:47:30");
orderArray[0].orderId = 343;
orderArray[0].provinceCode = "AB";
orderArray[0].totalItemTransactions = 1;
orderArray[0].updateTime = Convert.ToDateTime("2011-10-27T17:47:30");
ZBatch_PublisherService.ZBatchPublisherServiceService ws = new ZBatchPublisherServiceService();
ws.saveBatch(orderArray, itemArray);
こんにちは、私はその言葉を追加しなければならない 'を指定という言葉を、理解していませんか?この修正プログラムの基本的なサンプルコードを提供できますか?ありがとう。 –