2009-03-16 5 views
0
QName opName = new QName("http://mycompany.com/soap/service", "Login"); 
BindingOperationInfo boi = binding.getOperation(lastOperation); 
boi = boi.getUnwrappedOperation(); 
boi = boi.getWrappedOperation(); 

Kann jemand mir den Unterschied zwischen getUnwrappedOperation erklären() vs. getWrappedOperation()? Was wird verpackt?CXF dynamische Client-API - getUnwrapperOperation, getWrappedOperation

Antwort

1

Der Unterschied hängt davon ab, wie Sie die Operation verwenden möchten. Mit Doc/Literal-Endpunkten, die meisten verwenden, um ein „verpackt“ Formular, in dem Sie mit einem Schema am Ende wie:

mit einer Operation namens „doStuff“, die als die auf den oben genannten Punkte Einzelelementteil in der Eingangsnachricht.

Wenn Sie den Client mit der Operation "unwrapped" aufrufen, erwartet die Laufzeit, dass Sie die 3 Parameter, einen String und int, und einen String senden. Mit der Wrapped-Operation erwartet die Laufzeit, dass Sie ein einzelnes "DoStuffRequest" -Objekt mit den darin enthaltenen Daten senden.

Grundsätzlich hängt es nur davon ab, wie Sie mit der Operation arbeiten und wie sie mit Ihrem Dataset übereinstimmt.