有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring3+WS2+中使用注释、JibxMarshalling或使用xml配置配置JibxMarshalling和unmarshalling?

我目前正在使用JibxMarshalling&;在我的项目中,在Spring 2.5、Spring-ws-1.5.8和Weblogic 9/10中进行解组

但是,我想迁移到Spring3+、WS2+和WebLogic12x

下面是我当前的代码

pom。xml

<plugin>
        <groupId>org.jibx</groupId>
                    <artifactId>maven-jibx-plugin</artifactId>
                    <version>1.1.6a</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>bind</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>


<dependency>
            <groupId>org.jibx</groupId>
            <artifactId>jibx-bind</artifactId>
            <version>1.1.6a</version>
        </dependency>
        <dependency>
            <groupId>org.jibx</groupId>
            <artifactId>jibx-extras</artifactId>
            <version>1.1.5</version>
        </dependency>
        <dependency>
            <groupId>org.jibx</groupId>
            <artifactId>jibx-run</artifactId>
            <version>1.1.6a</version>
        </dependency>

端点类

import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;

public class MyOrderEndpoint extends  AbstractMarshallingPayloadEndpoint {

    private static final Logger log = Logger
            .getLogger(GetFinancialPeriodsEndpoint.class);

    /**
     * vendor data loader wrapper
     */
    private VendorDataLoader vendorDataLoader;
    /**
     * id translation instance
     */
    private IdTranslator idTranslator;

    public VendorDataLoader getVendorDataLoader() {
        return vendorDataLoader;
    }

    public void setVendorDataLoader(VendorDataLoader vendorDataLoader) {
        this.vendorDataLoader = vendorDataLoader;
    }

    public IdTranslator getIdTranslator() {
        return idTranslator;
    }

    public void setIdTranslator(IdTranslator idTranslator) {
        this.idTranslator = idTranslator;
    }

    @Override
    protected Object invokeInternal(Object request) throws Exception {
        GetFinancialPeriods stRequest = (GetFinancialPeriods) request;
        List<Statement> statementList = stRequest.getStatements();
        String requestor = stRequest.getRequestor();
        long start = System.currentTimeMillis();

        .............
        ............
        return response;
    }

spring ws servlet。xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util" 
    xsi:schemaLocation="
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd   
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="payloadMapping"
        class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
        <property name="endpointMap">
            <map>
                <entry key="{http://integration.pabi.com/ServiceSchema/v3/order}getMyOrder"
                    value-ref="getMyOrderEndpoint" />
                    ..........
                    .........
                </map>
        </property>
    </bean>

    <bean id="getFinancialPeriodsEndpoint" class="com.pabi.ws.MyOrderEndpoint">
        <property name="marshaller" ref="jibxResponseMarshaller" />
        <property name="unmarshaller" ref="jibxUnmarshaller" />
        <property name="vendorDataLoader" ref="cacheLoader"/>
        <property name="idTranslator" ref="idTranslator"/>
    </bean>

    <bean id="jibxResponseMarshaller" class="org.springframework.oxm.jibx.JibxMarshaller">
        <property name="targetClass"
            value="com.pabi.ws.MyOrderResponse" />
        <property name="encoding" value="UTF-8"/>
    </bean>
    <bean id="jibxUnmarshaller" class="org.springframework.oxm.jibx.JibxMarshaller">
        <property name="targetClass"
            value="com.pabi.ws.MyOrder" />
    </bean>


    <bean id="FinancialStatement"
        class="org.springframework.ws.wsdl.wsdl11.SimpleWsdl11Definition">
        <property name="wsdl" value="classpath:/wsdl/MyOrders.wsdl" />
    </bean>
</beans>

网络。xml

<servlet>
      <servlet-name>springmvc</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- take especial notice of the name of this servlet -->
    <servlet>
        <servlet-name>spring-ws</servlet-name>
        <servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
        <init-param>
            <param-name>transformWsdlLocations</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring-ws</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>

共 (0) 个答案