W produkcie WebSphere Application Server 8 zostało zmienione zachowanie w sposobie określania ustawienia działania SOAP w komunikatach wychodzących dla klientów rozsyłania JAX-WS. W wersjach wcześniejszych niż wersja 8, jeśli działanie SOAP nie jest udostępniane przez aplikację kliencką rozsyłania, środowisko wykonawcze JAX-WS nie wysyła poprawnego działania SOAP w komunikacie wychodzącym. Zamiast tego ustawia działanie na operację anonimową. Obecnie, w wersji 8, jeśli działanie SOAP nie zostało udostępnione przez aplikację kliencką, środowisko wykonawcze JAX-WS przeanalizuje komunikat wychodzący, aby określić wywoływaną operację i użyć jej w celu określenia odpowiedniej wartości dla działania SOAP.
Ta reguła oznacza flagą wywołania w celu utworzenia klienta rozsyłania, gdy:
Sprawdzone procedury kodowania dla serwera WebSphere Application Server traditional i Liberty jest przeznaczony dla aplikacji klienckiej do udostępniania działania SOAP z interfejsem JAX-WS. javax.xml.ws.BindingProvider Właściwości SOAPACTION_USE_PROPERTY i SOAPACTION_URI_PROPERTY . Podane działanie SOAP zostanie użyte, a analizowanie komunikatu wychodzącego nie zostanie wykonane bez względu na ustawienie DISPATCH_CLIENT_OUTBOUND_RESOLUTION .
Ten przykład przedstawia kod sprawdzonych procedur z działaniem SOAP ustawionym w kontekście żądania. Jeśli SOAPACTION_URI_PROPERTY nie jest ustawiony lub jeśli SOAPACTION_USE_PROPERTY jest ustawiona na false , wywołanie createDispatch() Metoda zostanie oznaczona przez tę regułę.
Przykład:Ponieważ ta analiza może być kosztowna, właściwość może zostać ustawiona na serwerze WebSphere Application Server traditional na poziomie systemu (aby zawsze wyłączyć analizę) lub w kontekście komunikatu żądania JAX-WS (w celu wyłączenia analizowania dla poszczególnych komunikatów). Jeśli analizowanie jest wyłączone, działanie SOAP w komunikacie wychodzącym będzie nadal ustawione na operację systemową, jak wcześniej. Właściwość wyłączania jest zdefiniowana jako stała org.apache.axis2.jaxws.Constants.DISPATCH_CLIENT_OUTBOUND_RESOLUTION z wartością łańcuchową jaxws.dispatch.outbound.operation.resolution.enable . Jeśli właściwość nie jest ustawiona, jest interpretowana jako łańcuch true , włączanie rozstrzygania operacji wychodzących. Ustawianie właściwości na false spowoduje wyłączenie rozstrzygania operacji wychodzących.
Dodatkowe informacje na ten temat: