JAVA 에서 Axis 를 사용 하여 웹 서 비 스 를 발표/호출 하 는 방법 에 대한 상세 한 설명

4274 단어 JAVAAxisWebservice
본 예시 와 참고 문장의 차 이 는 다음 과 같다.
1)deploy.wdd 정의 가 더 상세 합 니 다(server 엔 드 에 대해 인터페이스:ICalculate 를 정의 합 니 다):

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="Calculate" provider="java:RPC" style="rpc" use="literal">
        <parameter name="wsdlTargetNamespace" value="http://web.webservice.CalculateService.org" />
        <parameter name="wsdlServiceElement" value="Calculate" />
        <parameter name="wsdlServicePort" value="CalculateService" />
        <parameter name="wsdlPortType" value="ICalculate" />
        <parameter name="className" value="org.calculateservice.service.CalculateImp" />
        <parameter name="typeMappingVersion" value="1.2" />
        <parameter name="allowedMethods" value="add sub" />
        <parameter name="scope" value="Request" />
        <operation name="add" qname="operNS:add"
            xmlns:operNS="http://web.webservice.CalculateService.org"
            returnQName="addReturn" returnType="rtns:int" xmlns:rtns="http://www.w3.org/2001/XMLSchema"
            soapAction="">
            <parameter qname="x" type="tns:int"
                xmlns:tns="http://www.w3.org/2001/XMLSchema" />
            <parameter qname="y" type="tns:int"
                xmlns:tns="http://www.w3.org/2001/XMLSchema" />
        </operation>
        <operation name="sub" qname="operNS:sub"
            xmlns:operNS="http://web.webservice.CalculateService.org"
            returnQName="subReturn" returnType="rtns:int" xmlns:rtns="http://www.w3.org/2001/XMLSchema"
            soapAction="">
            <parameter qname="x" type="tns:int"
                xmlns:tns="http://www.w3.org/2001/XMLSchema" />
            <parameter qname="y" type="tns:int"
                xmlns:tns="http://www.w3.org/2001/XMLSchema" />
        </operation>
    </service>
</deployment>
2)Axis Servlet:org.calculate service.core.Axis Servlet(.NET 을 호 환 하여 SOAPACTION 의 검 사 를 제거 합 니 다).
자세 한 코드 는 여기에 붙 이지 않 고 전체 예제 코드 를 다운로드 하 는 것 에 관심 이 있 습 니 다.
3)호출 방식 은 로 컬 클래스 로 호출(자바 호출 WS 는 세 가지 방식 이 있 는 것 같 습 니 다.개인 적 으로 로 컬 프 록 시 클래스 로 호출 하 는 것 이 가장 합 리 적 이 고 읽 을 수 있 습 니 다):

public static void main(String[] args) throws ServiceException, RemoteException {       
        Calculate calculate  = new CalculateLocator();
        int result = calculate.getCalculateService().add(1, 2);
        System.out.println("[%1 + 2 = " + result + "%]");
    }
발표/호출 WS 의 주요 절차:
1)자원 에 있 는 axis 1.4 설치 패키지 에 있 는 웹 앱 의 axis 디 렉 터 리 를 tomcat 에 있 는 웹 앱 디 렉 터 리 에 복사 합 니 다.
2)WS 서버 구현 코드 작성 하기;
3)WEB-INF 디 렉 터 리 에 deploy.wdd 배치 파일 을 작성 합 니 다.
4)작성:generate-server-config.bat 스 크 립 트 를 만 든 다음 생 성:server-config.wdd,그리고 웹 서 비 스 를 발표 합 니 다.
5)작성:wsdl2java.bat 스 크 립 트 로 컬 호출 클 라 이언 트 코드 생 성;
6)테스트 코드 를 작성 하여 WS 를 호출 합 니 다.
코드 구성 도:
client:WSDL2Java 로 wdl 에 따라 로 컬 client 코드 를 생 성 합 니 다.
core:사용자 정의 Axis Servlet 은.NET 을 호 환 하여 SOAPACTION 의 검 사 를 제거 합 니 다.
서비스:WS 서버 구현 코드(간단 한 가감 계산 을 실례 로 합 니 다).
test:생 성 된 client 클래스 에 따라 server 를 호출 합 니 다.(생 성 된 코드 server 주 소 는 localhost 입 니 다.이 주 소 를 설정 으로 바 꾸 려 면 Calculate Locator 클래스 의 변수 Calculate Service 를 수정 하 십시오.address 할당 가능);

클릭 하여 전체 예제 다운로드
자원 에는 예제 전체 코드 와 xis 1.4 설치 파일 이 포함 되 어 있 습 니 다.

좋은 웹페이지 즐겨찾기