Question

Je dois sauter dans le service Web Spring Projet, que je besoin pour exécuter le client du service Web printemps seulement ..

Alors, je l'ai déjà passé par des client Printemps document de référence .

Alors, j'ai eu l'idée de classes nécessaires à la mise en œuvre du client.

Mais mon problème est comme je l'ai fait quelques googler, mais n'a pas obtenu de bon exemple à la fois client et serveur de que je peux mettre en œuvre un échantillon pour mon client.

Alors, si quelqu'un me donne un lien ou tutoriel pour bon exemple de ce que je peux apprendre mon implémentation côté client serait grandement apprécié.

Merci d'avance ...

Était-ce utile?

La solution

dans mon précédent projet, je mis en œuvre un client Webservice avec Spring 2.5.6, maven2, xmlbeans.

  • xmlbeans est responsable de l'ONU / maréchal
  • maven2 est pour le projet Mgmt / construction etc.

Je colle des codes ici et espère qu'ils sont utiles.

xmlbeans plugin maven conf: (dans 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>

de la ci-dessus conf, vous devez mettre le fichier de schéma (soit autonome ou dans votre fichier WSDL, vous devez les extraire et enregistrer dans un fichier de schéma.) Sous src / main / resources. lorsque vous créez le projet avec Maven, les POJO sont va être générés par xmlbeans. Les générés seront codes sources sous cible / généré par les sources / xmlbeans.

nous arrivons à Spring conf. Je viens de mettre le WS contexte pertinent ici:

    <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>

enfin, jetez un oeil la classe java ws-client

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.

   }

}

J'espère que les exemples de codes sont utiles.

Autres conseils

étape par étape tutoriel sur - Service Client Web avec Spring-WS @ http://justcompiled.blogspot.com/2010 /11/web-service-client-with-spring-ws.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top