search
HomeJavajavaTutorialExample tutorial for developing webservice server

Example tutorial for developing webservice server

Jun 27, 2017 am 09:28 AM
webwebservicedevelopfastServe

Written in front:

There are many methods and frameworks for developing webservices, such as cxf, etc., but these must use the annotation function when you write service classes. If the current jdk is 1.4, then the annotation function cannot be used. So the axis tool can be used here.

1. Required jar package:

2. Generally, webservice is used in web projects at work, so when creating a web project, The required jar package is placed in the lib directory

3. In the web.xml file, add

<servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
  </servlet>
  <!-- 这里是访问服务的路径 -->
  <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
  </servlet-mapping>

4. Create a service class, an interface, and an implementation class That’s it, first the interface

package edu.hue.server;public interface SayHello {public String say(String name);
}

Then the implementation class of the interface

package edu.hue.server;public class SayHelloImpl implements SayHello{public String say(String name) {return "Hello my friend " + name;
    }

}


5. Create it below WEB-INF server-config.wsdd (Create this file directly, then copy the following code, and then add your own service configuration as needed. In fact, this file can be generated by yourself. You need to create a deploy.wsdd yourself to start the project. After running, server-config.wsdd will be automatically generated. For convenience, the process is omitted here. You only need to add your own service to server-config.wsdd. Learn how to use it first)

<?xml  version="1.0" encoding="UTF-8"?>
<deployment>
 <!-- 这里的globalConfiguration暂时不用管是什么意思,可以先注释掉,不影响结果 
<globalConfiguration>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="adminPassword" value="admin"/>
  <parameter name="attachments.Directory" value="E:\sotfWares\sotfware\Tomcat\apache-tomcat-7.0.62-windows-x86\apache-tomcat-7.0.62\webapps\test_axis3\WEB-INF\attachments"/>
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="sendXsiTypes" value="true"/>
  <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration> -->

 <handler></handler>
 <handler></handler>
 <handler></handler>
 <!-- 
    这里的几个服务也可以先注释掉 这是自带的服务 注释后就只显示自己的服务<service name="AdminService" provider="java:MSG">
  <parameter name="allowedMethods" value="AdminService"/>
  <parameter name="enableRemoteAdmin" value="false"/>
  <parameter name="className" value="org.apache.axis.utils.Admin"/>
  <namespace>http://xml.apache.org/axis/wsdd/</namespace>
 </service>
 <service name="Version" provider="java:RPC">
  <parameter name="allowedMethods" value="getVersion"/>
  <parameter name="className" value="org.apache.axis.Version"/>
 </service> -->
 <transport>
  <requestflow>
   <handler></handler>
   <handler></handler>
  </requestflow>
  <parameter></parameter>
  <parameter></parameter>
  <parameter></parameter>
  <parameter></parameter>
  <parameter></parameter>
  <parameter></parameter>
 </transport>
 <transport>
  <responseflow>
   <handler></handler>
  </responseflow>
 </transport>
 
 <!-- 配置自己的服务  -->
 <service>
       <parameter></parameter>
       <parameter></parameter>
 </service>
 
</deployment>

Parameter explanation: name: a name for the service here is called sayHello, and then the following value="Fill in here is the full path of the implementation class of your service", almost these two parameters need to be changed, the others Just copy it

6. Run the project, enter in the browser: localhost:8080/test_axis3_stub/services, press Enter, and you can access it.

Localhost:8080/test_axis3_stub (project name)/services (the service access path is configured in web.xml to intercept /services/*, so you only need to enter services here to access)

What is mentioned here is a simple introduction. If it involves complex parameters, such as the transfer of beans, you need to study it further. (It seems that you also need to make relevant configurations when configuring the service in server-config.wsdd)

The above is the detailed content of Example tutorial for developing webservice server. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment