Pregunta

Tengo que saltar en el proyecto de servicio Web de Primavera, en que necesitarán para implementar el cliente del servicio web de Primavera Sólo ..

Por lo tanto, ya he pasado por la cliente de primavera Documento de referencia .

Por lo tanto, tengo la idea de clases necesarias para la aplicación del cliente.

Pero mi problema es como yo he hecho algunas google, pero no conseguir ningún ejemplo adecuado de cliente y servidor de que pueda aplicar una muestra por mi cliente.

Por lo tanto, si alguien me da un poco de enlace o un tutorial por ejemplo adecuada de que puedo aprender de mi aplicación del lado del cliente sería muy apreciada.

Gracias de antemano ...

¿Fue útil?

Solución

en mi proyecto anterior, que implementa un cliente de servicio web con Spring 2.5.6, maven2, xmlbeans.

  • xmlbeans es responsable de un / Mariscal
  • maven2 es para Gestión de proyectos / construcción, etc.

pego algunos códigos aquí y espero que sean útiles.

xmlbeans Maven plugin de conf: (en pom.xml)

<build>
        <finalName>projectname</finalName>

        <resources>

        <resource>

            <directory>src/main/resources</directory>

            <filtering>true</filtering>

        </resource>

        <resource>

            <directory>target/generated-classes/xmlbeans

            </directory>

        </resource>

    </resources>


        <!-- xmlbeans maven plugin for the client side -->

        <plugin>

            <groupId>org.codehaus.mojo</groupId>

            <artifactId>xmlbeans-maven-plugin</artifactId>

            <version>2.3.2</version>

            <executions>

                <execution>

                    <goals>

                        <goal>xmlbeans</goal>

                    </goals>

                </execution>

            </executions>

            <inherited>true</inherited>

            <configuration>

                <schemaDirectory>src/main/resources/</schemaDirectory>

            </configuration>

        </plugin>
<plugin>

            <groupId>org.codehaus.mojo</groupId>

            <artifactId>build-helper-maven-plugin

            </artifactId>

            <version>1.1</version>

            <executions>

                <execution>

                    <id>add-source</id>

                    <phase>generate-sources</phase>

                    <goals>

                        <goal>add-source</goal>

                    </goals>

                    <configuration>

                        <sources>

                            <source> target/generated-sources/xmlbeans</source>

                        </sources>

                    </configuration>

                </execution>



            </executions>

        </plugin>
    </plugins>
</build>

Así que desde el conf anterior, es necesario poner el archivo de esquema (ya sea independiente o en su archivo WSDL, es necesario extraerlos y guardar como un archivo de esquema.) Bajo src / main / recursos. cuando se genera el proyecto con Maven, los POJOs van a ser generados por xmlbeans. Los sourcecodes generados estarán bajo target /-fuentes generados / xmlbeans.

Entonces llegamos a la primavera conf. Acabo de poner el WS contexto pertinente aquí:

    <bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">

        <property name="payloadCaching" value="true"/>

    </bean>


    <bean id="abstractClient" abstract="true">
        <constructor-arg ref="messageFactory"/>
    </bean>

    <bean id="marshaller" class="org.springframework.oxm.xmlbeans.XmlBeansMarshaller"/>

 <bean id="myWebServiceClient" parent="abstractClient" class="class.path.MyWsClient">

        <property name="defaultUri" value="http://your.webservice.url"/>

        <property name="marshaller" ref="marshaller"/>

        <property name="unmarshaller" ref="marshaller"/>

    </bean>

Por último, echar un vistazo a la clase de Java WS-cliente

public class MyWsClient extends WebServiceGatewaySupport {
 //if you need some Dao, Services, just @Autowired here.

    public MyWsClient(WebServiceMessageFactory messageFactory) {
        super(messageFactory);
    }

    // here is the operation defined in your wsdl
    public Object someOperation(Object parameter){

      //instantiate the xmlbeans generated class, infact, the instance would be the document (marshaled) you are gonna send to the WS

      SomePojo requestDoc = SomePojo.Factory.newInstance(); // the factory and other methods are prepared by xmlbeans
      ResponsePojo responseDoc = (ResponsePojo)getWebServiceTemplate().marshalSendAndReceive(requestDoc); // here invoking the WS


//then you can get the returned object from the responseDoc.

   }

}

Espero que los códigos de ejemplo son útiles.

Otros consejos

Paso a paso tutorial sobre - Web de Servicio al Cliente con la primavera-WS @ http://justcompiled.blogspot.com/2010 /11/web-service-client-with-spring-ws.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top