掲示板

Web service response empty

11年前 に Markus Puustinen によって更新されました。

Web service response empty

New Member 投稿: 11 参加年月日: 12/05/07 最新の投稿
This is related to my previous question. I can now access the service WSDL and generate SOAP request for it with SoapUI. The only problem is that the service returns an empty response. I get only http headers from the response in SoapUI. I have a one simple method in my ServiceImpl class which returns com.liferay.portal.model.User object. I changed it to return com.liferay.portal.model.UserSoap but that didn't have any effect. The method executes fine and I get fetched user information printed on console but nothing to soap response. SoapUI receives response message from service if the method returns null but not if it returns object.

Here's my files:

XX_deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
	<service name="Plugin_x_VtUserDataService" provider="java:RPC" style="rpc" use="encoded">
		<operation xmlns:operns="urn:http.service.vt.consultor.fi" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="getUserData" qname="operNS:getUserData" returnqname="getUserDataReturn" returntype="rtns:anyType" soapaction="">
			<parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="ssn" type="tns:string"></parameter>
		</operation>
		<parameter name="allowedMethods" value="getUserData" />
		<parameter name="className" value="fi.consultor.vt.service.http.VtUserDataServiceSoap" />
		<parameter name="typeMappingVersion" value="1.2" />
		<parameter name="wsdlPortType" value="VtUserDataServiceSoap" />
		<parameter name="wsdlServiceElement" value="VtUserDataServiceSoapService" />
		<parameter name="wsdlServicePort" value="Plugin_x_VtUserDataService" />
		<parameter name="wsdlTargetNamespace" value="urn:http.service.vt.consultor.fi" />
	</service>
</deployment>


server-config.wsdd
<service name="Plugin_x_VtUserDataService" provider="java:RPC" style="rpc" use="encoded">
		<operation xmlns:operns="urn:http.service.vt.consultor.fi" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="getUserData" qname="operNS:getUserData" returnqname="getUserDataReturn" returntype="rtns:anyType" soapaction="">
			<parameter xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="ssn" type="tns:string"></parameter>
		</operation>
		<parameter name="allowedMethods" value="getUserData" />
		<parameter name="className" value="fi.consultor.vt.service.http.VtUserDataServiceSoap" />
		<parameter name="typeMappingVersion" value="1.2" />
		<parameter name="wsdlPortType" value="VtUserDataServiceSoap" />
		<parameter name="wsdlServiceElement" value="VtUserDataServiceSoapService" />
		<parameter name="wsdlServicePort" value="Plugin_x_VtUserDataService" />
		<parameter name="wsdlTargetNamespace" value="urn:http.service.vt.consultor.fi" />
	</service>


VtUserDataServiceImpl.java
public class VtUserDataServiceImpl extends VtUserDataServiceBaseImpl {
    public UserSoap getUserData(String xx) {
        User user = null;
        try {
            user = VtLiferayUtil.getUserByXX(xx);
        } catch (NoSuchUserException e) {
            return null;  //TODO
        }
        return com.liferay.portal.model.UserSoap.toSoapModel(user);
    }
}