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 설치 파일 이 포함 되 어 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 객체 작성 및 제거 방법정적 공장 방법 정적 공장 방법의 장점 를 반환할 수 있습니다. 정적 공장 방법의 단점 류 공유되거나 보호된 구조기를 포함하지 않으면 이불류화할 수 없음 여러 개의 구조기 파라미터를 만났을 때 구축기를 고려해야 한다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.