이전 작성:
현재 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!