Utworzyłem usługę WWW przy użyciu JAX-WS w wersjach RSA 7.5 i Websphere 7, korzystając z podejścia oddolnego. Gdy otwieram WSDL w SOAP UI, to odcinek argumentów pojawia się tak:Zmiana nazwy argumentu w JAX-WS
<!--Optional-->
<arg0>
<empID>?</empId>
</arg0>
<!--Optional-->
<arg1>
<empName>?</empName>
</arg1>
<!--Optional-->
<arg2>
<empAddress>?</empAddress>
</arg2>
<!--Optional-->
<arg3>
<empCountry>?</empCountry>
</arg3>
Metoda usługa bierze ponad 4 elementy jak parametry, aby przywrócić dane pracownika.
1) Chcę zmienić nazwę tego arg0, arg1 i tak dalej z poprawnymi nazwami.
2) Chcę usunąć prezentację <!--optional-->
powyżej znaczników arg. (Aby usunąć <!--optional-->
z nazwy elementu, użyłem @XMLElement (required = true)). Ale nie jestem pewien, gdzie dokładnie aby skorzystać z tej adnotacji w tym przypadku :(
Proszę o pomoc.
Pozdrawiam,
gdybym umieścić '@XMLElement (wymagane = true)' powyżej zmiennej członkiem EmpName, to będzie usunąć '<1 - opcja ->' obecny powyżej znacznika? Myślę, że to nie będzie działać, muszę umieścić to gdzieś w samej klasie serwisowej, ponieważ arg0 jest przekazywane w samej usłudze. Wypróbowałeś to? Nie mam dostępnego systemu DEV nw, w przeciwnym razie mógłbym spróbować. Ale myślę, że spowoduje to usunięcie '' z empName, ale nie z '' –
user182944
Musisz umieścić znacznik required = true nad każdą zmienną w danych, więc wszystkie 4 w twoim przypadku. Świadczę usługi wsparcia i zawsze denerwowało mnie to w SoapUI, ponieważ mamy te znaczniki we wszystkich naszych zmiennych. Właśnie dowiedziałem się miesiąc temu, że użycie tagu XMLElement usunie opcjonalne tagi z tego, co generuje SoapUi. – Logan
Dzięki za wszystkie informacje. Próbowałem twoich sugestii i większość z nich działała :) Czy możesz powiedzieć mi kilka rzeczy: 1) kiedy uruchomię obecny adres URL w WSDL dla sprawdzenia, czy usługa jest w górę, czy nie, wtedy dostaję komunikat: 'Hello! To jest serwis internetowy Axis2! "Moje pytanie brzmi, dlaczego pokazuje Axis2? Czy JAX-WS ma jakąkolwiek relację z Axis2? 2) Dzisiaj zaimplementowałem SOAPHandler dla mojej usługi internetowej. Użyłem adnotacji '@handlerchain (file =" filepath ")', a plik został umieszczony w folderze WebContent. Wyrzucił mi wyjątek. Ale umieszczenie go w pakiecie serwisowym działało dobrze. Czemu? – user182944