Jak skonfigurować usługę internetową generowane przez WebLogic 10.3.6 przy użyciu JAX-WS zawierać schemat obiekt wewnątrz jednej deklaracji pliku WSDL, zamiast deklaracji importowej?pojedyncze WSDL bez importu schematu w WebLogic z JAX-WS
Przykład Kod:
Interfejs
import javax.ejb.Local;
@Local
public interface CustomerBeanLocal {
public void updateCustomer(Customer customer);
}
sesji ziarna
import javax.ejb.Stateless;
import javax.jws.WebService;
@Stateless
@WebService
public class CustomerBean implements CustomerBeanLocal {
@Override
public void updateCustomer(Customer customer) {
// Do stuff...
}
}
WSDL Wygenerowane
Potrzebujemy, aby definicje schematów nie były importowane za pomocą znacznika <xsd:import>
w poniższym przykładzie, ale muszą być zadeklarowane w WSDL, co oznacza, że wszystkie informacje o umowie znajdują się w jednym pliku WSDL. Brak zależności innych plików.
<!-- ... -->
<types>
<xsd:schema>
<xsd:import namespace="http://mybeans/" schemaLocation="http://192.168.10.1:7001/CustomerBean/CustomerBeanService?xsd=1" />
</xsd:schema>
</types>
<!-- ... -->
Ten sam kod z WildFly zawiera typy schematów wewnątrz WSDL i nie używa funkcji importowania. Po pewnych badaniach nie znalazłem sposobu na skonfigurowanie komponentu bean/serwera do wykonania tego w WebLogic (nie znalazłem w tym celu zastrzeżonych funkcji JAX-WS lub WebLogic).
Rozumiem korzyści wynikające z posiadania wyeksportowanego schematu (możliwość ponownego użycia itp.), Ale wymaganiem projektu jest, aby typy były deklarowane w pliku WSDL, a nie importowane.
Jest to całkiem dobra odpowiedź na podobne pytanie: http://stackoverflow.com/questions/16030574/jax-ws-has-xsd-schema-in-different-url –
jestem oszczędność ręcznej interwencji jako ostatni zasób. Powinien istnieć sposób na jego skonfigurowanie (nawet w przypadku funkcji innej niż przenośna). Jeśli ręczna edycja jest jedyną alternatywą dla WebLogic, prawdopodobnie przejdę do umowy pierwszej generacji. – BonanzaOne