サービスでサポートされるメッセージ定義があるとすぐに、クライアントコードを作成できます。サービスのサポートに使用されるビジネスロジックはサービスによって直接公開されることはありません(これは SOA: カプセル化の重要な原則の 1 つを壊す可能性があります)。これは基本的にサービスコードの逆になります。
ServiceInvoker flightService = new ServiceInvoker(...);
Message request = // create new Message of desired type
request.getBody().add(“org.example.flight.seatnumber”, ”1”);
request.getBody().add(“ org.example.flight.flightnumber”, “BA1234”);
request.getHeader().getCall().setMessageID(1234);
request.getHeader().getCall().setReplyTo(myEPR);
Message response = null;
do
{
response = flightService.deliverSync(request, 1000);
if (response.getHeader().getCall().getRelatesTo() == 1234)
{
// it's out response!
break;
}
else
response = null; // and keep looping
} while !maximumRetriesExceeded();
ServiceInvoker flightService = new ServiceInvoker(...);
Message request = // create new Message of desired type
request.getBody().add(“org.example.flight.seatnumber”, ”1”);
request.getBody().add(“ org.example.flight.flightnumber”, “BA1234”);
request.getHeader().getCall().setMessageID(1234);
request.getHeader().getCall().setReplyTo(myEPR);
Message response = null;
do
{
response = flightService.deliverSync(request, 1000);
if (response.getHeader().getCall().getRelatesTo() == 1234)
{
// it's out response!
break;
}
else
response = null; // and keep looping
} while !maximumRetriesExceeded();
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow