[
https://issues.apache.org/jira/browse/AXIS2-3517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Isuru Eranga Suriarachchi resolved AXIS2-3517.
----------------------------------------------
Resolution: Fixed
Fix Version/s: 1.6
Tested with the latest Axis2 trunk by generating a skeleton for the provided
WSDL. Service works fine and returns the expected response with no errors.
Therefore, resolving the issue.
Thanks,
~Isuru
> java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected
> subelement
> -------------------------------------------------------------------------------------
>
> Key: AXIS2-3517
> URL: https://issues.apache.org/jira/browse/AXIS2-3517
> Project: Axis2
> Issue Type: Bug
> Components: databinding
> Affects Versions: 1.3
> Environment: Axis2 tools 1.3.0 for eclipse
> Eclipse 3.3.1.1
> apache-axis2-1.3
> apache-tomcat-6.0.16
> Windows XP
> Reporter: Samuel Emangard
> Assignee: Isuru Eranga Suriarachchi
> Priority: Critical
> Fix For: 1.6
>
> Attachments: DummyService.wsdl
>
>
> I expose 3 operations of a service
> public Project[] getProjectsAsArray(String schema, String login) throws
> ServiceException {
> try {
> return (Project[]) projectDAO.findAllByLogin(schema,
> login).toArray();
> } catch (Exception e) {
> throwServiceException("Exception while getting projects
> for the login "+login, e);
> return null;
> }
> }
>
> public Project getFirstProject(String schema, String login) throws
> ServiceException {
> try {
> return (Project) projectDAO.findAllByLogin(schema,
> login).get(0);
> } catch (Exception e) {
> throwServiceException("Exception while getting projects
> for the login "+login, e);
> return null;
> }
> }
>
> public String getFirstProjectName(String schema, String login) throws
> ServiceException {
> try {
> return ((Project) projectDAO.findAllByLogin(schema,
> login).get(0)).getName();
> } catch (Exception e) {
> throwServiceException("Exception while getting projects
> for the login "+login, e);
> return null;
> }
> }
> I generated the web service Axis2 archive
> with the adb binding
> here is the code of my skeletton
> public
> com.toluna.as.ext.services.project.xsd.GetProjectsAsArrayResponse
> getProjectsAsArray
> (
> com.toluna.as.ext.services.project.xsd.GetProjectsAsArray
> getProjectsAsArray
> )
> throws ServiceException{
> try {
> String schema = getProjectsAsArray.getSchema();
> String login = getProjectsAsArray.getLogin();
> List<Project> projects = new
> ProjectHibernateDAO().findAllByLogin(schema, login);
> LOGGER.info("size----> " + projects.size() + "
> for schema "+ schema + " and login "+ login);
> GetProjectsAsArrayResponse response = new
> GetProjectsAsArrayResponse();
> Iterator it = projects.iterator();
> while (it.hasNext()) {
> Project project = (Project) it.next();
> XMLStreamReader reader =
> BeanUtil.getPullParser(project);
> // 1
> // StreamWrapper parser = new
> StreamWrapper(reader);
> // StAXOMBuilder stAXOMBuilder =
> //
> OMXMLBuilderFactory.createStAXOMBuilder(OMAbstractFactory.getOMFactory(),
> // parser);
> // OMElement element =
> stAXOMBuilder.getDocumentElement();
> //
> projectArray.add(com.toluna.as.ext.model.project.xsd.Project.Factory.parse(element.getXMLStreamReader()));
> // 2
>
>
> response.add_return(com.toluna.as.ext.model.project.xsd.Project.Factory.parse(reader));
> }
>
> return response;
> } catch (Exception e) {
> LOGGER.error(e);
> throw new ServiceException("", e);
> }
> }
> public
> com.toluna.as.ext.services.project.xsd.GetFirstProjectResponse getFirstProject
> (
> com.toluna.as.ext.services.project.xsd.GetFirstProject
> getFirstProject
> )
> throws ServiceException{
> try {
> String schema = getFirstProject.getSchema();
> String login = getFirstProject.getLogin();
> List<Project> projects = new
> ProjectHibernateDAO().findAllByLogin(schema, login);
> LOGGER.info("size----> " + projects.size() + "
> for schema "+ schema + " and login "+ login);
> Project project = projects.get(0);
> XMLStreamReader reader =
> BeanUtil.getPullParser(project);
> // 1
> // StreamWrapper parser = new
> StreamWrapper(reader);
> // StAXOMBuilder stAXOMBuilder =
> //
> OMXMLBuilderFactory.createStAXOMBuilder(OMAbstractFactory.getOMFactory(),
> // parser);
> // OMElement element =
> stAXOMBuilder.getDocumentElement();
> //
> projectArray.add(com.toluna.as.ext.model.project.xsd.Project.Factory.parse(element.getXMLStreamReader()));
> // 2
> GetFirstProjectResponse response = new
> GetFirstProjectResponse();
>
> response.set_return(com.toluna.as.ext.model.project.xsd.Project.Factory.parse(reader));
> return response;
> } catch (Exception e) {
> LOGGER.error(e);
> throw new ServiceException("", e);
> }
> }
> public
> com.toluna.as.ext.services.project.xsd.GetFirstProjectNameResponse
> getFirstProjectName
> (
> com.toluna.as.ext.services.project.xsd.GetFirstProjectName
> getFirstProjectName
> )
> throws ServiceException{
> try {
> String schema =
> getFirstProjectName.getSchema();
> String login = getFirstProjectName.getLogin();
> List<Project> projects = new
> ProjectHibernateDAO().findAllByLogin(schema, login);
> LOGGER.info("size----> " + projects.size() + "
> for schema "+ schema + " and login "+ login);
> Project project = (Project) projects.get(0);
> GetFirstProjectNameResponse response = new
> GetFirstProjectNameResponse();
> response.set_return(project.getName());
> return response;
> } catch (Exception e) {
> LOGGER.error(e);
> throw new ServiceException("", e);
> }
>
> }
>
>
>
> when I test it with SOAP UI
> I always have the following exception (SOAP response)
> java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected
> subelement creationDate
> public class Project extends ASObject {
> private Date launchDate;
> private Date endDate;
> private boolean launched;
> private boolean paused;
> private boolean requestEmail;
> private boolean webSiteAccess;
> private boolean useCookies;
> private boolean fullService;
> private boolean noBack;
> private boolean validEmails;
> private boolean validSample;
> private String url;
> private String urlParamName;
> private String urlParam2Name;
> private String fakeUserId;
> private String fakeUserId2;
> private String returnURLParamName;
> private String returnURLComplete;
> private String returnURLScreenOut;
> private String returnURLQuotaFull;
> private int keyType = KeyTypes.KEY_TYPE_TOLUNA;
> private String keyPattern;
> private String keyLastValue;
> private Long quotasPanelists;
>
> public abstract class ASObject implements Serializable {
> protected long id;
> protected String name;
> protected String description;
> protected long guid;
> protected Date creationDate;
> protected Date modificationDate;
> protected Date lockingDate;
> protected boolean deleted;
> protected int sharingType;
> protected int versionNumber;
> protected String versionComment;
> protected boolean last;
> protected ASObject prevVersion;
> protected User user;
> protected User versionCreatingUser;
> protected User versionModifyingUser;
> protected User lockingUser;
>
> Do you have any solution?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]