現在私は発券ロボットを作成しています。このプロセスの一環として、Galileoの場合と同様に、発券依頼を送信する前にチケットプリンタを現在の接続/セッションに「リンク」する必要があります。PNRの自動チックスキー、DesignatePrinterの使用
しかし、私のDesignatePrinterリクエストの作成方法についてのドキュメントはあまり明確ではありません。アイデアは、私はこのように、リクエストオブジェクトにDesignatePrinterRQPrintersTicketを割り当てるチケットにあるので
var messageHeader = new MessageHeader
{
ConversationId = "TestSession",
CPAId = licenseId,
Action = "DesignatePrinterLLSRQ",
Service = new Service { Value = "DesignatePrinterLLSRQ" },
MessageData = new MessageData
{
MessageId = "xxx:xxxxxx",
Timestamp = DateTime.UtcNow.ToString("s") + "Z"
},
From = new From()
{
PartyId = new[]
{
new PartyId {Value = "WebServiceClient"}
}
},
To = new To()
{
PartyId = new[]
{
new PartyId {Value = "WebServiceSupplier"}
}
}
};
:
var request = new
{
Version = "2.25.0",
TimeStamp = DateTime.UtcNow,
TimeStampSpecified = true,
Printers = new DesignatePrinterRQPrinters
{
Ticket = new DesignatePrinterRQPrintersTicket { LNIATA = printers }
}
};
DesignatePrinterRS resp = null;
Policy.Handle<SoapException>()
.Or<WebException>()
.WaitAndRetry(new[]
{
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(1)
})
.Execute(() =>
{
using (
DesignatePrinterService serviceObj = new DesignatePrinterService())
{
serviceObj.MessageHeaderValue = messageHeader;
serviceObj.Security = new Security1 { BinarySecurityToken = token };
resp = serviceObj.DesignatePrinterRQ(request);
}
});
if (resp != null && resp.ApplicationResults.status == CompletionCodes.Complete)
{
// Ticket printer linked
resultValue = 1;
}
else
{
// Ticket printer not linked
resultValue = 0;
}
はこれです、私はこれを次のようにやっている時点では
十分か、それとももっと必要なのでしょうか?
私は残念ながら、現時点でテストすることができないんだけど...
私のxmlリクエストのコピーと、受け取ったxmlレスポンスの両方をアップロードしました。 リクエスト:[リンク](https://dl.dropboxusercontent.com/u/54991757/StackOverflow/DesignatePrinter%20%28Request%29.xml) 応答:[リンク](https:// dl。 dropboxusercontent.com/u/54991757/StackOverflow/DesignatePrinter%20%28Response%29.xml) ご覧のとおり、私は現在、プリンタアドレスのみを渡しています。おそらくそれが私の問題を引き起こしているのでしょうか? – Fysicus
国コードが存在しないことは、おそらくこの問題に関連している可能性があります。 上記のようにセイバー(あなたのIPCCに提供する)に連絡するか、ソリューションを開発している旅行代理店に連絡してください。 – fcarreno