我和我有WSDL .eg:/ sample/hello?wsdl.我想通过在Spring-ws中配置来调用webservice服务.我将此wsdl作为参数传递给springconfig.xml中的标记.谁能告诉我如何在Spring-ws中使用这个web服务.
我使用spring-ws生成了webservice.我已经在tomcat中部署了我的应用程序并且没有任何错误地部署.我无法找到WSDL的路径.请帮我讲述如何为wsdl创建路径.
我的web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>listener><servlet><servlet-name>spring-ws</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>sprig-ws</servlet-name><url-pattern>/</url-pattern></servlet-mapping> <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-ws--servlet.xml</param-value></context-param>
Run Code Online (Sandbox Code Playgroud)
弹簧-WS-servlet.xml中
<bean class="org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter">
<constructor-arg ref="marshaller" />
</bean>
<bean id="marshaller"
class="org.springframework.oxm.xmlbeans.XmlBeansMarshaller">
</bean>
<bean id="loginEndpoint" class="com.cloudexult.endpoint.LoginEndpoint">
</bean>
<sws:dynamic-wsdl id="loginmanager" portTypeName="LoginService" locationUri="/loginService/"
targetNamespace="http://www.example.org/Login/definitions">
<sws:xsd location="/WEB-INF/schema/Login.xsd"/>
</sws:dynamic-wsdl>
Run Code Online (Sandbox Code Playgroud) 任何人都可以在JAXB中解释UnMarshaller和Parser之间的区别.我读过像UnMarshaller那样用来从XML文档中检索值.Parser也做了同样的事情.有人请解释一下差异.
例如:考虑下面的示例zoo.xml
<zoo>
<zooName>Vandalur Zoo</zooName>
<zooId>12321</zooId>
<animals>
<animal>
<animalName>Lion</animalName>
<animalType>Wild</animalType>
</animal>
Run Code Online (Sandbox Code Playgroud)
使用UnMarshaller,
JAXBContext jaxbContext = JAXBContext
.newInstance("com.javapapers.xml.jaxb");
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
JAXBElement<?> zoo = (JAXBElement<?>) unmarshaller
.unmarshal(new FileInputStream("zoo.xml"));
ZooInfo zooInfo = (ZooInfo) zoo.getValue();
Run Code Online (Sandbox Code Playgroud)
使用解析器:
File fXmlFile = new File("zoo.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
Run Code Online (Sandbox Code Playgroud)