java 웹 서비스 구현 실례

6800 단어 webservice
다음으로 이동: http://yangjizhong.iteye.com/blog/579511 작가 님 의 이 글 에 특별히 감 사 드 립 니 다.
오늘 오후 에 갑자기 웹 서 비 스 를 연구 하고 싶 어서 인터넷 에서 많은 사례 를 찾 았 습 니 다. 그러나 많은 사람들 이 칭찬 하기 어 려 웠 습 니 다. 세 시간 동안 원 을 돌 고 나 서 야 알 게 되 었 습 니 다. 사실은 아주 간단 합 니 다. 여기 서 특히 감사합니다. http://www.liuzm.com/article/java/992.htm 이 글 은 저 에 게 밝 혀 주 었 습 니 다. 지금 제 사례 절 차 를 붙 여 주 었 습 니 다. 그 블 로 거들 에 게 감 사 를 드 리 는 동시에 여러분 과 함께 공유 하 겠 습 니 다.
 
하나:
 
먼저 WEB 프로젝트 를 만 든 다음: http://ws.Apache.org/axis/ 사이트 에서 Axis 설치 패 키 지 를 다운로드 합 니 다. 물론 다른 가방 에 도 의존 합 니 다. 저 는 첨부 파일 에 모든 응용 패 키 지 를 올 려 서 여러분 을 편리 하 게 합 니 다.
 
둘:
 
그리고 wsdd 파일 을 작성 합 니 다.
 
deploy.wsdd:
http://xml.apache.org/axis/wsdd/ "xmlns:java=""target="_blank">http://xml.apache.org/axis/wsdd/providers/java">           
 
DOS 에서 디 렉 터 리 를% TOMCAT HOME%\webapps\\axis\\WEB - INF 로 변환 합 니 다. 명령: 자바 - cp% AXISCLASSPATH% org. apache. axis. client. admin Client deploy. wdd
 
 
3:
 
두 번 째 단계 의 파일 을 직접 쓸 수 있 습 니 다. 코드 는 다음 과 같 습 니 다.
 
<?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>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <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"/>
</globalConfiguration>

  <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>   
  <service name="Login.jws" provider="java:RPC">   
     <parameter name="className" value="server.SayHello"/>
     <parameter name="scope" value="request"/>
     <parameter name="allowedMethods" value="*"/>
     <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
  </service>   
  <transport name="http">   
     <requestFlow>   
        <handler type="URLMapper"/>   
     </requestFlow>   
  </transport>   
</deployment>

 
 
WEB - INF 디 렉 터 리 에 웹. xml 과 함께 넣 으 면 WEB. XML 은 다운로드 한 axis 프로젝트 에서 직접 자신의 프로젝트 를 가 져 오 거나 추가 할 수 있 습 니 다.
 
<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 server;

public class SayHello {
	public String getName(String name) {
		return "hello====>" + name;
	}
}

 
 
5:
 
   클 라 이언 트 가 서버 인터페이스 에 접근 하여 데 이 터 를 얻 는 방법:
 
package client;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class TestClient {

	public static void main(String[] args) throws Exception {

		//   service  URL     

		String endpoint = "http://127.0.0.1:8082/webservice/services/Login.jws";

		//       (service)  (call)     

		Service service = new Service();

		Call call = (Call) service.createCall();//   service  call       

		//   service  URL     

		call.setTargetEndpointAddress(new java.net.URL(endpoint));

		//    (processService) MyService.java            

		call.setOperationName("getName");

		// Object        ,   "This is Test!",  processService(String arg)     

		String ret = (String) call.invoke(new Object[] { "  " });

		System.out.println(ret);

	}

}

 
 
6:
 
tomcat 를 시작 합 니 다. 먼저 접근 http://127.0.0.1:8082/webservice/services 합 니 다. 표시 방법 이 있 는 지, 표시 가 있 는 지, 서버 에서 제공 하 는 인터페이스 가 성공 적 으로 접근 할 수 있 습 니 다.
 
나의 효 과 는 이렇다.
 
And now... Some Services
  • Login.jws (wsdl)
  • getName


  • 7:
     
        그리고 로 컬 에서 클 라 이언 트 TestClient 를 뛰 면 결과 가 있 을 거 예요. 한번 해 보 세 요.

    좋은 웹페이지 즐겨찾기