A aplicação do WebService tornou -se cada vez mais extensa. A seguir, apresenta várias maneiras de desenvolver o WebService no sistema Java, o que equivale a fazer um registro.
1.xis2
O Axis é o próximo componente de desenvolvimento de serviço da web de código aberto do Apache. Parecia relativamente cedo e maduro. Aqui, apresentamos principalmente o desenvolvimento do Axis+Eclipse Web Service. Obviamente, você pode desenvolver e publicar o WebService sem eclipse, mas será mais conveniente usar o Eclipse.
(1) Faça o download da versão Java EE do eclipse //www.vevb.com/softs/239903.html#down
(2) Download do Axis2 http://axis.apache.org/axis2/java/core/download.cgi
(3) Faça o download do plug -in Axis2 do Eclipse
AXIS2_CODEGEN_WIZARD
AXIS2_SERVICE_ARCHIVER
http://axis.apache.org/axis2/java/core/tools/index.html
Recomendado para usar a versão 1.3
(4) Eclipse para instalar o plug-in do Axis2
1) Crie uma nova pasta Axis2 em qualquer diretório, crie um novo diretório Eclipse nesta pasta e crie um novo diretório de plug-ins e apresenta diretório no diretório Eclipse, como: d:/programoftware/eclipse-svn/axis2/eclipse;
2) descompacte o plug -in do Axis2 baixado e coloque o arquivo descomprimido no diretório do plug -ins do recém -criado eclipse;
3) Crie um novo diretório de links no diretório % eclipse_home % e crie um novo arquivo Axis2.Link no diretório Links, com o conteúdo: path = d:/programoftware/eclipse-svn/axis2;
4) Reinicie o Eclipse e clique em ・ File-New-Other. Se você vir os assistentes do Axis2, significa que o plug-in está instalado com sucesso.
(5) Instale o eixo2
Faça o download da distribuição de guerra do Axis2 e descompacte -o, coloque o pacote Axis2.war em %tomcat_home %/webApps, inicie o tomcat, visite http: // localhost: porta/axis2 e o Axis2 é instalado com sucesso.
(6) Use o Eclipse para criar um novo projeto da Web e criar uma classe Java normal, incluindo pelo menos um método.
(7) Publique um serviço da web
1) Clique em File-New-Outro em Eclipse, Abra os assistentes do Axis2, selecione Archiver de serviço Axis2 e, em seguida, em seguida;
2) Selecione o local do arquivo de classe, ou seja, o caminho de armazenamento de arquivos da classe. NOTA: Selecione apenas o diretório de classes, não inclua a pasta de pacotes e depois a seguir;
3) Selecione Skip WSDL e depois próximo
4) Vá ao lado de selecionar o arquivo XML de serviço a ser incluído no Arquivo de Serviço e verifique gerar o serviço XML automaticamente;
5) Nome do serviço preenche o nome do seu serviço, o nome da classe preenche o nome da classe, incluindo o nome do pacote, clique em Carregar e clique em Concluir. Neste momento, o serviço da web será publicado com sucesso;
6) Em seguida, vá para %tomcat_home %/webApps/Axis2/Web-Inf/Services para ver se existe um arquivo .AAR adicional;
7) Visite http: // localhost: 8085/axis2/Services/Class Nome? WSDL para ver o arquivo WSDL gerado.
Nota: O método acima é publicá -lo no pacote Axis2.war. Você também pode copiar o arquivo .AAR gerado para o seu aplicativo real. Ao mesmo tempo, você também pode usar a função Criar site do Eclipse para publicar seu site. Selecione o Axis2 para gerar seu site, para que o site seja implantado no seu aplicativo.
2.APCHE CXF
O CXF Development Web Service também é relativamente conveniente e simples, e sua integração com a primavera pode ser considerada muito boa. Vamos dar um exemplo do CXF Development Web Service.
1) Crie um novo projeto da Web em pacotes de dependência Eclipse e Importar.
2) Escreva uma interface, como:
Public String Test (@webparam (name = "value", TargetNamespace = "http://service.cxf.zcl.com/", mode = webparam.mode.in) value);
Nota: No serviço da web desenvolvido pela CXF, os parâmetros dos métodos na interface devem estar dessa maneira; caso contrário, o servidor CXF não receberá o valor do parâmetro quando o cliente o chamar. Nome: Nome do parâmetro, não escreva -o (recomendado para escrevê -lo), TargetNamesPace: Namespace, deve ser preenchido. O padrão é a ordem inversa do nome do pacote, modo: Tipo de parâmetro, representa a entrada.
3) Escreva uma classe de implementação e implemente o método da interface;
4) integrar-se à primavera, escreva um arquivo de feijão, como: cxf-beans.xml, com o seguinte conteúdo:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd "> <importação Resource =" ClassPath: meta-infemMemn/cxf/cxf.xm Resource = "ClassPath: meta-inf/cxf/cxf-servlet.xml"/> <jaxws: endpoint id = "vote" implementor = "com.zcl.cxf.service.voteimpl" endereço = "/vote"/> </beans
Este arquivo é mais fácil de entender, então não vou explicar.
5) Configure CXFServlet
Configure CXFServlet no arquivo web.xml e carregue o arquivo cxf-beans.xml, com o seguinte conteúdo:
<web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/cxf-beans.xml</param-value> </context-param> <listener> <Ilistener-class> org.springframework.web.context.contextLoaderListener </ouvinte-class> </irvier> <ervlet> <sutlet-name> cxf </servlet-name> <Verlertlet-class> org.apache.cxfsport.Servlet.cxfstletLe </servlet> <Servlet-mapping> <Servlet-name> cxf </servlet-name> <url-pattern>/Services/*</url-tattern> </servlet-mapping> </web-app>
Implante o projeto no middleware, como o Tomcat, e você pode acessar o serviço do site.
3.JDK Development Web Service
1) Escreva uma aula de Java da seguinte maneira:
demonstração do pacote; importar javax.jws.webparam; importar javax.jws.webservice; importar javax.xml.ws.endpoint; @WebService Public class JdkwebService {public String Dosomething (@WebParam (name = "value", TargetNamespace = "http: // Demo/", mode = webparam.mode.in) value) {return "apenas faça isso," + valor + "!";; } public static void main (string [] args) {endpoint.publish ("http: // localhost: 8080/jdkwsdemo/Demo.jdkwebService", novo jdkwebservice ()); }} 2) Execute a classe Java e você pode acessar o serviço da web no navegador.
Nota: Este método não é muito amigável ao desenvolver engenharia da web. Podemos escrever uma classe servlet e publicar um serviço da web no método de inicialização da classe Servlet, para que nosso servidor de middleware nos ajude automaticamente a iniciar.
3) Xfire
Existem muitas estruturas para o desenvolvimento do WebService, e cada estrutura tem seus próprios recursos. Recentemente, usei o XFire para praticar o desenvolvimento do WebService. Abaixo está um pequeno exemplo de desenvolvimento do WebService. Espero que seja útil para aqueles que estão começando.
1. Crie um novo projeto da Web Java chamado TestwebService, adicione pacotes JAR relacionados ao XFire ao diretório Lib, aulas de interface de gravação e classes de implementação
pacote com.lamp.service; Public Interface MessageService {public String getName (nome da string); } pacote com.lamp.service; Public Interface MessageService {public String getName (nome da string); } Classe de implementação
pacote com.lamp.service.impl; importação com.lamp.service.messageService; public class MessageServiceImpl implementa MessageService {public String getName (nome da string) {return "hellow" + name + ", bem -vindo ao mundo do WebService"; }} pacote com.lamp.service.impl; importação com.lamp.service.messageService; public class MessageServiceImpl implementa MessageService {public String getName (nome da string) {return "hellow" + name + ", bem -vindo ao mundo do WebService"; }} Crie uma nova meta-Inf no diretório SRC, depois crie uma nova pasta XFire sob ele e crie um novo arquivo de configuração Services.xml no diretório XFire
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://xfire.codehaus.org/config/1.0"> <ervice> <name> MessageService </Name> <VerticClass> com.lamp.service.messages <messages> <ImplementationClass> com.lamp.service.impl.messageserviceImpl </implementationclass> </vice> </ Beans> <? xml versão = "1.0" coding = "utf-8"? <Verticeclass> com.lamp.service.messageService </viceClass> <ImplementationClass> com.lamp.service.impl.messageserviceImpl </mongeationClass> </vice> </ Beans>
Por fim, configure o servlet do Xfire em web.xml
</servlet> <Servlet-name> xfireServlet </vletn-name> <Servlet-class-SLASS> org.codehaus.xfire.transport.http.xfireconfigurablesServlet </servlet-class> </servlet> <verlet-mapping> <Servlet-Mapping-Name> xfirs> xfirs> <url-Pattern>/servlet/xfireServlet/*</url-pattern> </servlet-mapping> <Verlet-Mapping> <Verlet-Name> xfireServlet </servlet-name> <url-Pattern>/Services/*</url-tattern> </servlet> <-cletlet>> org.codehaus.xfire.transport.http.xfireconfigurableServlet </servlet-class> </servlet> <Servlet-mapping> <Verlet-name> xfireServlet </servlet-name> <url-pattern>/servlet/x-mordet/*</url-Pattern> <Verlet-name> xfireServlet </servlet-name> <url-tattern>/Services/*</url-tattern> </servlet-mapping>
Depois que o projeto for implantado, você pode ver a interface de acesso remoto no navegador por meio de http: // localhost: 8080/testwebService/Services e obtém wsdl como http: // localhost: 8080/testwebService/Service/MessageService? WSDL
Dessa forma, o desenvolvimento do servidor está concluído e agora o desenvolvimento do cliente é iniciado
Crie um novo projeto Java e também apresente frascos relacionados ao XFire. Eu uso a formiga para gerar objetos proxy no cliente e criar um novo edifício.xml no caminho do projeto, e o código é
<? xml versão = "1.0" coding = "utf-8"?> <nome do projeto = "WebService" baseado = "." default = "Gen-WebService"> <Property file = "Build.Properties"> </Property> <Path id = "Project-ClassPath"> <FileSet dir = "$ {lib.dir}"> <incluir name = "**/*. className = "org.codehaus.xfire.gen.wsgentask" classPathRef = "Project-ClassPath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" package = "com.lamp.w <wsClient" <? xml versão = "1.0" coding = "utf-8"?> <nome do projeto = "WebService" baseado = "." default = "Gen-WebService"> <Property file = "Build.Properties"> </Property> <Path id = "Project-ClassPath"> <FileSet dir = "$ {lib.dir}"> <incluir name = "**/*. className = "org.codehaus.xfire.gen.wsgentask" classPathRef = "Project-ClassPath"/> <wsgen outputDirectory = "$ {src.dir}" wsdl = "$ {wsdl.dir}" package = "com.lamp.w <wsClient" O arquivo Build.Properties que introduziu também está no caminho do projeto
src.dir = $ {baseado}/src lib.dir = f: /webservice/xfire-1.2.6/lib wsdl.dir = http: // lochost: 8080/testwebservice/serviços/mensagens? wsdl Onde Lib.jar armazena o caminho do XFire para mim, execute a formiga para obter o objeto proxy
Escreva uma aula de teste
pacote com.lamp.test; importação com.lamp.ws.client.messageserviceclient; importar com.lamp.ws.client.messageServicePortype; classe pública testGetName {public static void main (string [] args) {messenserviceclient msg = new messageServiceclient (); MessageServicePortype PortType = msg.getMessageServiceHttpport (); String result = PortType.getName ("Zhang San"); System.out.println (resultado); }} pacote com.lamp.test; importação com.lamp.ws.client.messageserviceclient; importar com.lamp.ws.client.messageServicePortype; classe pública testGetName {public static void main (string [] args) {messenserviceclient msg = new messageServiceclient (); MessageServicePortype PortType = msg.getMessageServiceHttpport (); String result = PortType.getName ("Zhang San"); System.out.println (resultado); }} Correndo no console, vi Hellow Zhang San, bem -vindo ao Web Service World, e um simples desenvolvimento de serviços da web foi concluído.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.