Я работаю над загрузкой Spring.У меня есть файл WSDL, который имеет 2 схемы XSD каждый с различным пространством имен.Я использую приведенный ниже код для создания WSDL
public static final String NAMESPACE_URI_1= "http://ip/webservices/TEST1";
public static final String NAMESPACE_URI_2= "http://ip/webservices/TEST2";
@Bean(name="XXX")
public DefaultWsdl11Definition webserviceCreation() {
DefaultWsdl11Definition definition = new DefaultWsdl11Definition();
definition.setPortTypeName("TEST1");
definition.setTargetNamespace(NAMESPACE_URI_1);
definition.setLocationUri(/webservices/TEST1);
definition.setSchemaCollection(updateContactXsd());
return definition;
}
@Bean
public XsdSchemaCollection updateContactXsd() {
CommonsXsdSchemaCollection xsds = new CommonsXsdSchemaCollection(new ClassPathResource("webservices/TEST1.xsd"));
xsds.setInline(true);
return xsds;
}
Здесь TEST1.XSD имеет пространство имен http://ip/webservices/TEST1 и импортирует другой TEST2.XSD, который имеет nameapce http://ip/webservices/TEST2
Но когда я нажимаю на URL с помощью SOAPUI, я получаю следующую ошибку:
Не найдено сопоставление конечной точки для [SaajSoapMessage {http://ip/webservices/TEST2}
Однако, если в моемметод webserviceCreation()
, если я установлю definition.setTargetNamespace(NAMESPACE_URI_2);
вместо definition.setTargetNamespace(NAMESPACE_URI_1)
, то ошибка будет
Не найдено сопоставление конечной точки для [SaajSoapMessage {http://ip/webservices/TEST1}
Canкто-нибудь подскажет, как правильно установить TargetNamespace в коде?
Заранее спасибо.