2013-07-18 1 views
0

저는 방금 axis2c (리눅스에서 1.5 버전)를 사용하기 시작했습니다. 수학 서비스의 추가 기능 사본 인 간단한 서비스를 다시 작성합니다.addr_out_handler.c (133) 조치가 없습니다. 처리 중지 어드레싱

절차가 끝날 때 서비스에서 합계 결과를 다시 보내야 할 때 "아무런 조치 없음"오류가보고됩니다.

나는 내 서비스를 "ctictrlintf"라고 불렀고, ctictrlintf_invoke 함수 안에서 나는 그 노드에 2 개의 매개 변수를 추가했다.

여기서 axiom_node_to_string API를 사용하여 인쇄 된 노드의 내용입니다. 함수 ctictrlintf_invoke의 끝에

<ns1:test1 xmlns:ns1="http://ws.apache.org/axis2/services/ctictrlintf"> 
<param1>40</param1> 
<param2>8</param2> 
</ns1:test1> 

는 중독의 요동 ewith 결과를 반환한다. 그 아래에보고 한 후 무슨 일이 있었는지

<ns1:result xmlns:ns1="http://axis2/test/namespace1">48</ns1:result> 

.

어딘가에 addr_out_handler.c의 프로그램에서 "조치 없음"오류를보고 작업을 중단합니다.

[debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut 
[info] Starting addressing out handler 
[debug] addr_out_handler.c(133) No action present. Stop processing addressing 
[info] Request served in 0.012 seconds 

이 오류와 라이브러리가 작업을 완료하는 데 필요한 조치는 무엇을 의미합니까?

최저 reagards, 엔조

설정 파일의 axis2.xml 내부 추가 2013년 7월 18일 16시 56분

여전히 주소 지정 모듈

<!-- ================================================= --> 
<!-- Global Modules --> 
<!-- ================================================= --> 
<module ref="addressing"/> 

을 활성화 할 때 서버입니다 로그 리포트가 시작되어 어드레싱 활성화에 대한 몇 가지주의 사항

[debug] conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order 
[debug] conf_builder.c(379) Module addressing found in axis2.xml 
[debug] class_loader.c(140) /usr/local/axis2c/lib/libaxis2_http_sender.so shared lib loaded successfully 
[debug] class_loader.c(140) /usr/local/axis2c/lib/libaxis2_http_receiver.so shared lib loaded successfully 
[debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : /usr/local/axis2c/modules/addressing/libaxis2_mod_addr.so 
[debug] class_loader.c(140) /usr/local/axis2c/modules/addressing/libaxis2_mod_addr.so shared lib loaded successfully 
[debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : /usr/local/axis2c/modules/logging/libaxis2_mod_log.so 
[debug] class_loader.c(140) /usr/local/axis2c/modules/logging/libaxis2_mod_log.so shared lib loaded successfully 
[debug] svc_builder.c(318) DLL path is : /usr/local/axis2c/services/ctictrlintf/libctictrlintf.so 
[debug] svc_builder.c(318) DLL path is : /usr/local/axis2c/services/echo/libecho.so 
[debug] svc_builder.c(318) DLL path is : /usr/local/axis2c/services/math/libmath.so 
[debug] phase_holder.c(139) Add handler AddressingInHandler to phase Transport 

와 서비스 코드는 이미 다음 호출

/* Create EPR with given address */ 
endpoint_ref = axis2_endpoint_ref_create(env, address); 

/* Setup options */ 
options = axis2_options_create(env); 
axis2_options_set_to(options, env, endpoint_ref); 
axis2_options_set_action(options, env, "http://www.aesys.com/axis2/services/ctictrlintf/test1"); 

/* Set service client options */ 
axis2_svc_client_set_options(svc_client, env, options); 

/* Engage addressing module */ 
axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); 
+0

주소 지정을 직접 사용하지 않는 경우 주소를 포함하면 안됩니다. 그 주소로 보내는 메시지가 왜 멈춘다 고 생각합니까? 고객이 응답을받지 못 했습니까? Eclipse의 SoapUI 또는 웹 서비스 탐색기와 같은 일부 웹 서비스 테스터를 사용하여 서비스를 호출하려 했습니까? – loentar

+0

안녕하세요 loentar 저는 다른 질문이 아닌 몇 가지 대답을 요청했습니다. axis2c 배우기 시작 simle 예제를 찾고 있어요. 나는 수학을 사용하여 그것을 바꾸기 시작했으나 계속 진행하기 전에 알아야 할 숨겨진 복잡성이있는 것으로 보인다. – enzo2

+0

그러면 주소 지정 지원을 추가해서는 안됩니다. "아무런 조치가 없습니다. 주소 처리 중지"메시지 만 무시하십시오. 서비스가 잘 작동해야합니다. – loentar

답변

1

이 메시지는 모듈을 해결하여 생산하고 이것은 오류가 아닙니다 있었다.

서비스에서 주소 지정 지원이없고 주소 관련 헤더를 보내거나받지 못했습니다.

Axis2/C의 WS-Addressing 지원에 대한 정보는 here입니다.

+0

제안을 확인했지만 주소 지정 지원을 사용하도록 설정 한 것으로 보입니다 (스레드 상단의 기본 게시물에 추가 정보가 추가되었습니다). – enzo2