This thread is the continuation of an old one located in the Legacy forum :
How to Expose and Consume a MethodI've been trying to expose a method like stated in this wiki :
http://wiki.liferay.com/index.php/How_to_Expose_and_Consume_a_MethodProblem:Everything goes fine until step number 4 of the wiki :
4. ant clean deploy and you are done exposing a method. Check it out at /tunnel-web/secure/axis.

When I go to "/tunnel-web/axis" I can't find my service listed with the others.(As my new service is not listed in "/tunnel-web/axis", the ext-client.jar creation can't be done properly)
Information about what I've done so far:After step 3 of the wiki :
3. "ant build-wsdd" in ext-impl/ to generate /ext-web/docroot/WEB-INF/server-config.wsdd for SOAP calls
I indeed have "server-config.wsdd" in directory "ext\ext-web\docroot\WEB-INF" updated with the following xml code :
<service name="Portlet_LoadArticles_LoadArticlesService" provider="java:RPC" style="rpc" use="encoded">
<parameter name="wsdlTargetNamespace" value="urn:http.service.LoadArticles.portlet.ext.com"/>
<parameter name="wsdlServiceElement" value="LoadArticlesServiceSoapService"/>
<parameter name="wsdlServicePort" value="Portlet_LoadArticles_LoadArticlesService"/>
<parameter name="className" value="com.ext.portlet.LoadArticles.service.http.LoadArticlesServiceSoap"/>
<parameter name="wsdlPortType" value="LoadArticlesServiceSoap"/>
<parameter name="typeMappingVersion" value="1.2"/>
<operation xmlns:operNS="urn:http.service.LoadArticles.portlet.ext.com" xmlns:rtns="http://www.w3.org/2001/XMLSchema"
name="loadArticle" qname="operNS:LoadArticle" returnQName="LoadArticleReturn" returnType="rtns:string" soapAction=""> </operation>
<parameter name="allowedMethods" value="loadArticle"/>
</service>
After step 4, I looked inside the "WEB-INF\lib\ext-impl.jar" jar of my tomcat directory.
Everything seems to be ok here because there is all the .class files needed in "com\ext\portlet\LoadArticles\service\".
However, I looked in the file "tunnel-web\WEB-INF\server-config.wsdd" of my tomcat directory and the previous xml code defining my service has not been added with the other servicesThis is the reason why it doesn't appear in "\tunnel-web\axis".
If I try to add it myself I get this error when I access "/tunnel-web/axis":
And now... Some Services
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Exception - org.apache.axis.InternalException: java.lang.Exception:
Couldn't find a matching Java operation for WSDD operation "loadArticle" (0 args)
Anyone to help me ?
If needed, here is my "service.xml" file defining the new service :
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 4.3.3//EN" "http://www.liferay.com/dtd/liferay-service-builder_4_3_3.dtd">
<service-builder package-path="com.ext.portlet.LoadArticles">
<namespace>LoadArticles</namespace>
<entity name="LoadArticles" local-service="false" remote-service="true">
</entity>
</service-builder>
And my "LoadArticlesServiceImpl.java" file located in "ext\ext-impl\src\com\ext\portlet\LoadArticles\service\impl" :
package com.ext.portlet.LoadArticles.service.impl;
import com.ext.portlet.LoadArticles.service.LoadArticlesService;
import com.liferay.portal.service.impl.PrincipalBean;
public class LoadArticlesServiceImpl extends PrincipalBean
implements LoadArticlesService {
public String LoadArticle () {
return "Test";
}
}
Please sign in to flag this as inappropriate.