>  기사  >  Java  >  웹 서비스 서버 개발을 위한 예제 튜토리얼

웹 서비스 서버 개발을 위한 예제 튜토리얼

零下一度
零下一度원래의
2017-06-27 09:28:571938검색

이전 작성:

현재 cxf 등 웹 서비스 개발을 위한 많은 방법과 프레임워크가 있지만 서비스 클래스 작성 시 이러한 주석 기능을 사용해야 합니다. 현재 jdk가 1.4이면 주석 기능을 사용할 수 없습니다. 따라서 여기서는 축 도구를 사용할 수 있습니다.

1. 필수 jar 패키지:

2. 일반적으로 웹서비스는 직장에서 웹 프로젝트에서 사용하므로 웹 프로젝트를 생성하고 lib 디렉터리에 필수 jar 패키지를 넣습니다.

3. xml 파일에

<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를 추가합니다. 첫 번째는 인터페이스

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

  다음은 인터페이스 구현 클래스

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

}


5입니다. WEB-INF 아래에 server-config.wsdd를 생성합니다(이 파일을 직접 생성한 후 다음 코드를 복사한 후 필요에 따라 자체 서비스 구성을 추가합니다. 실제로 이 파일은 직접 생성할 수 있습니다. 하나 생성해야 합니다. 배포.wsdd, 프로젝트 시작 후 server-config.wsdd가 자동으로 생성됩니다. 여기서는 편의상 해당 프로세스를 생략하고 server-config.wsdd에 사용 방법을 알아봅니다. 먼저)

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <!-- 这里的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 name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
 <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
 <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
 <!-- 
    这里的几个服务也可以先注释掉 这是自带的服务 注释后就只显示自己的服务<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 name="http">
  <requestFlow>
   <handler type="URLMapper"/>
   <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </requestFlow>
  <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
  <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
  <parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
  <parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
 </transport>
 <transport name="local">
  <responseFlow>
   <handler type="LocalResponder"/>
  </responseFlow>
 </transport>
 
 <!-- 配置自己的服务  -->
 <service name="sayHello" provider="java:RPC">
       <parameter name="className" value="edu.hue.server.SayHelloImpl" />
       <parameter name="allowedMethods" value="*" />
 </service>
 
</deployment>

매개변수 설명: name: 여기서 서비스 이름은 sayHello이고, 다음 값은 "여기에 채우는 것은 서비스 구현 클래스의 전체 경로입니다." 거의 이 두 매개변수가 필요합니다. 6. 프로젝트를 실행하고 브라우저에 localhost:8080/test_axis3_stub/services를 입력한 후 Enter를 누르면 액세스할 수 있습니다.

 localhost:8080/test_axis3_stub (프로젝트 이름)/services (서비스 접근 경로는 web.xml에 차단 /services/*로 구성되어 있으므로 서비스만 입력하면 접근 가능)

여기서 언급한 것은 모두 간단하다 소개. 콩 이송과 같은 복잡한 매개변수가 포함된 경우 더 자세히 연구해야 합니다. (server-config.wsdd에서 서비스를 구성할 때 관련 구성도 해줘야 할 것 같습니다)

위 내용은 웹 서비스 서버 개발을 위한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java--일반다음 기사:Java--일반