웹 서비스의 axis 2 설정 (기 존 항목)
5595 단어 apache.WebwebserviceservletSOAP
2. 현재 프로젝트 설정 axis 2 1)web.xml
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
2) 관련 파일 복사 공식 적 으로 war 패 키 지 를 다운로드 하여 압축 을 풀 고 / WEB - INF / lib, / WEB - INF / conf, / WEB - INF / modules 를 기 존 항목 으로 복사 합 니 다. 기 존 프로젝트 에서 / WEB - INF / services / my domain / META - INF / services. xml 프로필 을 만 듭 니 다. 내용 은 다음 과 같 습 니 다.
<serviceGroup>
<service name="HelloWorldService">
<description>Hello World Service</description>
<parameter name="ServiceClass" locked="false">
example.HelloWorldService
</parameter>
<operation name="hello">
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
</operation>
</service>
</serviceGroup>
3) 서비스 예:
package example;
import java.util.ArrayList;
import java.util.List;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
/**
* @author an_chuantong
* @version created:Aug 30, 2008 6:15:14 PM
*
*/
public class HelloWorldService {
public HelloWorldService() {
}
public OMElement hello(OMElement in) {
String name = in.getText();
System.out.println("name:" + name);
System.out.println("in:" + in.getLocalName());
OMNamespace omN=in.getNamespace();
System.out.println("getNamespaceURI:" +omN.getNamespaceURI());
OMFactory fac = OMAbstractFactory.getOMFactory();
// OMNamespace SOAP 。
OMNamespace omNs = fac.createOMNamespace("http://helloworld.com/", "hw");
// sayHello, omNs 。
OMElement resp = fac.createOMElement("helloResponse", omNs);
// 。
resp.setText(" "+name);
List list = new ArrayList();
list.add("act");
list.add("anc");
list.add(" ");
return resp;
}
http://localhost:8080/mydomain/services/HelloWorldService?wsdl 접근 을 통 해 wdl 정 보 를 표시 할 수 있다 면 설정 되 었 습 니 다.
4) 클 라 이언 트 테스트
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class TestClient {
// targetEPR Service(.aar ) 。
private static EndpointReference targetEPR = new EndpointReference("http://localhost:8080/mydomain/services/HelloWorldService?wsdl");
public static OMElement getSayHelloOMElement() {
// request SOAP 。
OMFactory fac = OMAbstractFactory.getOMFactory();
// OMNamespace SOAP 。
OMNamespace omNs = fac.createOMNamespace("http://helloworld.com/", "hw");
// sayHello, omNs 。
OMElement method = fac.createOMElement("hello", omNs);
// 。
method.setText("ZJ");
return method;
}
public static void main(String[] args) {
try {
Options options = new Options();
options.setTo(targetEPR);
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement sayHello = TestClient.getSayHelloOMElement();
// request SOAP,
// sayHello result。
// services.xml sayHello 。
OMElement result = sender.sendReceive(sayHello);
System.out.println(result);
if (result != null) {
Iterator iterator = result.getChildElements();
while (iterator.hasNext()) {
OMElement o = (OMElement) iterator.next();
System.out.println(o.getText());
}
}
} catch (Exception axisFault) {
axisFault.printStackTrace();
}
}
}
4. jsp 클 라 이언 트: jsp 와 독립 프로그램의 차 이 는 ServiceClient 의 구조 방식 에 있다.
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);// http
ConfigurationContext configctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
ServiceClient sender = new ServiceClient(configctx, null);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 파일 압축 및 압축 풀기파일 의 간단 한 압축 과 압축 해 제 를 실현 하 였 다.주요 테스트 용 에는 급 하 게 쓸 수 있 는 부분 이 있 으 니 불편 한 점 이 있 으 면 아낌없이 가르쳐 주 십시오. 1. 중국어 문 제 를 해 결 했 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.