You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Bjorn Harvold (JIRA)" <ji...@apache.org> on 2008/08/13 17:26:44 UTC

[jira] Updated: (CXF-1746) Multiple published services all reference the first exported spring web service

     [ https://issues.apache.org/jira/browse/CXF-1746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bjorn Harvold updated CXF-1746:
-------------------------------

    Description: 
Hi,

I've been working with CXF since the incubator stage. Before that I was an xfire user. My multiple web services have been successfully published on earlier version of CXF. I THINK this issue is associated with v2.1.1.

Here are my services configured in spring:
<!-- ============================== WEB SERVICE END POINT============================== -->
    <jaxws:endpoint id="cxf_UserWebService"
                    implementor="#userWebService"
                    address="/UserWebService">
        <jaxws:serviceFactory>
            <ref bean="serviceFactory"/>
        </jaxws:serviceFactory>
    </jaxws:endpoint>

    <jaxws:endpoint id="cxf_ReferenceDataWebService"
                    implementor="#referenceDataWebService"
                    address="/ReferenceDataWebService">
        <jaxws:serviceFactory>
            <ref bean="serviceFactory"/>
        </jaxws:serviceFactory>
    </jaxws:endpoint>
    <!-- ============================== WEB SERVICE END POINT============================== -->

    <!-- ============================== WEB SERVICE ============================== -->

    <bean id="userWebService" class="com.hxcel.globalhealth.web.ws.impl.UserWebServiceImpl" parent="abstractWebService">
        <property name="resourceBundle" value="errors"/>
        <property name="description" value="${application.user.description}"/>
        <property name="name" value="${application.user.name}"/>
        <property name="shortName" value="${application.user.name.short}"/>
    </bean>

    <bean id="referenceDataWebService" class="com.hxcel.globalhealth.web.ws.impl.ReferenceDataWebServiceImpl" parent="abstractWebService">
        <property name="description" value="${application.phr.description}"/>
        <property name="name" value="${application.referencedata.name}"/>
        <property name="shortName" value="${application.referencedata.name.short}"/>
    </bean>
    <!-- ============================== WEB SERVICE ============================== --> 

Here are the interfaces:
@WebService
public interface UserWebService {
    @WebMethod
    @WebResult(name = "User")
    UserDto getUser(@WebParam(name="id") String id) throws Fault;

    @WebMethod
    UserDto saveNewUser(@WebParam(name = "dto")UserDto dto) throws Fault;

    @WebMethod
    @WebResult(name = "isUsernameTaken")
    Boolean isUsernameTaken(@WebParam(name="username") String username) throws Fault;

    @WebMethod
    @WebResult(name = "isUserUnique")
    Boolean isUserUnique(@WebParam(name = "id") String id, @WebParam(name="username") String username) throws Fault;

    @WebMethod
    @WebResult(name = "User")
    UserDto login(@WebParam(name = "username") String username, @WebParam(name="password") String password) throws Fault;

}

@WebService
public interface ReferenceDataWebService {
    @WebMethod
    @WebResult(name = "AdvanceDirectiveType")
    AdvanceDirectiveTypeCd[] getAdvanceDirectiveTypes();

    @WebMethod
    @WebResult(name = "AllergyReactionType")
    AllergyReactionTypeCd[] getAllergyReactionTypes();

    @WebMethod
    @WebResult(name = "AllergyType")
    AllergyTypeCd[] getAllergyTypes();

    @WebMethod
    @WebResult(name = "AlternativeTreatmentType")
    AlternativeTreatmentTypeCd[] getAlternativeTreatmentTypes();

    @WebMethod
    @WebResult(name = "BloodType")
    BloodTypeCd[] getBloodTypes();

    @WebMethod
    @WebResult(name = "CaseStatus")
    EmrStatusCd[] getEmrStatuses();

    @WebMethod
    @WebResult(name = "ClientStatus")
    ClientStatusCd[] getClientStatuses();

    @WebMethod
    @WebResult(name = "ContactType")
    ContactTypeCd[] getContactTypes();

    @WebMethod
    @WebResult(name = "Country")
    CountryCd.code[] getCountries() throws Fault;

    @WebMethod
    @WebResult(name = "Country")
    CountryCd getCountry(String code) throws Fault;

    @WebMethod
    @WebResult(name = "CreditcardType")
    CreditcardTypeCd[] getCreditcardTypes();

    @WebMethod
    @WebResult(name = "DentalExamReasonType")
    DentalExamReasonTypeCd[] getDentalExamReasonTypes();

    @WebMethod
    @WebResult(name = "DiagnoserType")
    DiagnoserTypeCd[] getDiagnoserTypes();

    @WebMethod
    @WebResult(name = "EmailType")
    EmailTypeCd[] getEmailTypes();

    @WebMethod
    @WebResult(name = "FrequencyType")
    FrequencyTypeCd[] getFrequencyTypes();

    @WebMethod
    @WebResult(name = "InstantMessageType")
    InstantMessageTypeCd[] getInstantMessageTypes();

    @WebMethod
    @WebResult(name = "ImmunizationType")
    ImmunizationTypeCd[] getImmunizationTypes();

    @WebMethod
    @WebResult(name = "Language")
    LanguageCd[] getLanguages();

    @WebMethod
    @WebResult(name = "LocationType")
    LocationTypeCd[] getLocationTypes();

    @WebMethod
    @WebResult(name = "MaritalStatus")
    MaritalStatusCd[] getMaritalStatuses();

    @WebMethod
    @WebResult(name = "MedicalConditionType")
    MedicalConditionTypeCd[] getMedicalConditionTypes();

    @WebMethod
    @WebResult(name = "MedicationFrequencie")
    MedicationFrequencyCd[] getMedicationFrequencies();

    @WebMethod
    @WebResult(name = "MedicationType")
    MedicationTypeCd[] getMedicationTypes();

    @WebMethod
    @WebResult(name = "NewsChannel")
    NewsChannelCd[] getNewsChannels();

    @WebMethod
    @WebResult(name = "PhoneType")
    PhoneTypeCd[] getPhoneTypes();

    @WebMethod
    @WebResult(name = "ProfessionalClientStatus")
    RelationshipStatusCd[] getRelationshipStatuses();

    @WebMethod
    @WebResult(name = "ProfessionalStatus")
    ProfessionalStatusCd[] getProfessionalStatuses();

    @WebMethod
    @WebResult(name = "ProfessionalType")
    ProfessionalTypeCd[] getProfessionalTypes();

    @WebMethod
    @WebResult(name = "WaitinglistPriority")
    WaitinglistPriorityCd[] getWaitinglistPriorities();

    @WebMethod
    @WebResult(name = "Profession")
    ProfessionCd[] getProfessions();

    @WebMethod
    @WebResult(name = "Race")
    RaceCd[] getRaces();

    @WebMethod
    @WebResult(name = "RatingType")
    RatingTypeCd[] getRatingTypes();

    @WebMethod
    @WebResult(name = "RecordType")
    RecordTypeCd[] getRecordTypes();

    @WebMethod
    @WebResult(name = "RelativeConditionType")
    RelativeConditionTypeCd[] getRelativeConditionTypes();

    @WebMethod
    @WebResult(name = "RelativeType")
    RelativeTypeCd[] getRelativeTypes();

    @WebMethod
    @WebResult(name = "Religion")
    ReligionCd[] getReligions();

    @WebMethod
    @WebResult(name = "Salutation")
    SalutationCd[] getSalutations();

    @WebMethod
    @WebResult(name = "Sex")
    SexCd[] getSexes();

    @WebMethod
    @WebResult(name = "SpecialtyType")
    SpecialtyTypeCd[] getSpecialtyTypes();

    @WebMethod
    @WebResult(name = "SurgeryType")
    SurgeryTypeCd[] getSurgeryTypes();

    @WebMethod
    @WebResult(name = "TreatmentType")
    TreatmentTypeCd[] getTreatmentTypes();

    @WebMethod
    @WebResult(name = "UserStatus")
    UserStatusCd[] getUserStatuses();

    @WebMethod
    @WebResult(name = "VisionExamReasonType")
    VisionExamReasonTypeCd[] getVisionExamReasonTypes();

    @WebMethod
    @WebResult(name = "VisionNonPrescriptionGlassesType")
    VisionNonPrescriptionGlassesTypeCd[] getVisionNonPrescriptionGlassesTypes();

    @WebMethod
    @WebResult(name = "VisionPrescriptionGlassesType")
    VisionPrescriptionGlassesTypeCd[] getVisionPrescriptionGlassesTypes();

    @WebMethod
    @WebResult(name = "VisionContactLensType")
    VisionContactLensTypeCd[] getVisionContactLensTypes();
}

They are very different interfaces. Here are the beginnings of the implementations:
@WebService(serviceName = "UserWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.UserWebService")
public class UserWebServiceImpl extends AbstractWebService implements UserWebService {}

@WebService(serviceName = "ReferenceDataWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.ReferenceDataWebService")
public class ReferenceDataWebServiceImpl extends AbstractWebService implements ReferenceDataWebService {}

AbstractWebService only has some String accessors.

These services have worked fine before as I said on CXF v2.0.x.... maybe even 2.1.0.

When I start up the application and look at my available services I get this:
Available services:
UserWebService

    * isUserUnique
    * saveNewUser
    * isUsernameTaken
    * getUser
    * login

	Endpoint address: http://localhost:8080/services/UserWebService
Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
Target namespace: http://impl.ws.web.globalhealth.hxcel.com/
UserWebService

    * isUserUnique
    * saveNewUser
    * isUsernameTaken
    * getUser
    * login

	Endpoint address: http://localhost:8080/services/ReferenceDataWebService
Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
Target namespace: http://impl.ws.web.globalhealth.hxcel.com/

The web service I export first will always override all the other web services I have.

Is this a bug or am I smoking the wrong end of the pipe again!?

Cheers
bjorn

  was:
Hi,

I've been working with CXF since the incubator stage. Before that I was an xfire user. My multiple web services have been successfully published on earlier version of CXF. I THINK this issue is associated with v2.1.1.

Here are my services configured in spring:
<!-- ============================== WEB SERVICE END POINT============================== -->
    <jaxws:endpoint id="cxf_UserWebService"
                    implementor="#userWebService"
                    address="/UserWebService">
        <jaxws:serviceFactory>
            <ref bean="serviceFactory"/>
        </jaxws:serviceFactory>
    </jaxws:endpoint>

    <jaxws:endpoint id="cxf_ReferenceDataWebService"
                    implementor="#referenceDataWebService"
                    address="/ReferenceDataWebService">
        <jaxws:serviceFactory>
            <ref bean="serviceFactory"/>
        </jaxws:serviceFactory>
    </jaxws:endpoint>
    <!-- ============================== WEB SERVICE END POINT============================== -->

    <!-- ============================== WEB SERVICE ============================== -->

    <bean id="userWebService" class="com.hxcel.globalhealth.web.ws.impl.UserWebServiceImpl" parent="abstractWebService">
        <property name="resourceBundle" value="errors"/>
        <property name="description" value="${application.user.description}"/>
        <property name="name" value="${application.user.name}"/>
        <property name="shortName" value="${application.user.name.short}"/>
    </bean>

    <bean id="referenceDataWebService" class="com.hxcel.globalhealth.web.ws.impl.ReferenceDataWebServiceImpl" parent="abstractWebService">
        <property name="description" value="${application.phr.description}"/>
        <property name="name" value="${application.referencedata.name}"/>
        <property name="shortName" value="${application.referencedata.name.short}"/>
    </bean>
    <!-- ============================== WEB SERVICE ============================== --> 

Here are the interfaces:
@WebService
public interface UserWebService extends ExternalApplication {
    @WebMethod
    @WebResult(name = "User")
    UserDto getUser(@WebParam(name="id") String id) throws Fault;

    @WebMethod
    UserDto saveNewUser(@WebParam(name = "dto")UserDto dto) throws Fault;

    @WebMethod
    @WebResult(name = "isUsernameTaken")
    Boolean isUsernameTaken(@WebParam(name="username") String username) throws Fault;

    @WebMethod
    @WebResult(name = "isUserUnique")
    Boolean isUserUnique(@WebParam(name = "id") String id, @WebParam(name="username") String username) throws Fault;

    @WebMethod
    @WebResult(name = "User")
    UserDto login(@WebParam(name = "username") String username, @WebParam(name="password") String password) throws Fault;

}

@WebService
public interface ReferenceDataWebService extends ExternalApplication {
    @WebMethod
    @WebResult(name = "AdvanceDirectiveType")
    AdvanceDirectiveTypeCd[] getAdvanceDirectiveTypes();

    @WebMethod
    @WebResult(name = "AllergyReactionType")
    AllergyReactionTypeCd[] getAllergyReactionTypes();

    @WebMethod
    @WebResult(name = "AllergyType")
    AllergyTypeCd[] getAllergyTypes();

    @WebMethod
    @WebResult(name = "AlternativeTreatmentType")
    AlternativeTreatmentTypeCd[] getAlternativeTreatmentTypes();

    @WebMethod
    @WebResult(name = "BloodType")
    BloodTypeCd[] getBloodTypes();

    @WebMethod
    @WebResult(name = "CaseStatus")
    EmrStatusCd[] getEmrStatuses();

    @WebMethod
    @WebResult(name = "ClientStatus")
    ClientStatusCd[] getClientStatuses();

    @WebMethod
    @WebResult(name = "ContactType")
    ContactTypeCd[] getContactTypes();

    @WebMethod
    @WebResult(name = "Country")
    CountryCd.code[] getCountries() throws Fault;

    @WebMethod
    @WebResult(name = "Country")
    CountryCd getCountry(String code) throws Fault;

    @WebMethod
    @WebResult(name = "CreditcardType")
    CreditcardTypeCd[] getCreditcardTypes();

    @WebMethod
    @WebResult(name = "DentalExamReasonType")
    DentalExamReasonTypeCd[] getDentalExamReasonTypes();

    @WebMethod
    @WebResult(name = "DiagnoserType")
    DiagnoserTypeCd[] getDiagnoserTypes();

    @WebMethod
    @WebResult(name = "EmailType")
    EmailTypeCd[] getEmailTypes();

    @WebMethod
    @WebResult(name = "FrequencyType")
    FrequencyTypeCd[] getFrequencyTypes();

    @WebMethod
    @WebResult(name = "InstantMessageType")
    InstantMessageTypeCd[] getInstantMessageTypes();

    @WebMethod
    @WebResult(name = "ImmunizationType")
    ImmunizationTypeCd[] getImmunizationTypes();

    @WebMethod
    @WebResult(name = "Language")
    LanguageCd[] getLanguages();

    @WebMethod
    @WebResult(name = "LocationType")
    LocationTypeCd[] getLocationTypes();

    @WebMethod
    @WebResult(name = "MaritalStatus")
    MaritalStatusCd[] getMaritalStatuses();

    @WebMethod
    @WebResult(name = "MedicalConditionType")
    MedicalConditionTypeCd[] getMedicalConditionTypes();

    @WebMethod
    @WebResult(name = "MedicationFrequencie")
    MedicationFrequencyCd[] getMedicationFrequencies();

    @WebMethod
    @WebResult(name = "MedicationType")
    MedicationTypeCd[] getMedicationTypes();

    @WebMethod
    @WebResult(name = "NewsChannel")
    NewsChannelCd[] getNewsChannels();

    @WebMethod
    @WebResult(name = "PhoneType")
    PhoneTypeCd[] getPhoneTypes();

    @WebMethod
    @WebResult(name = "ProfessionalClientStatus")
    RelationshipStatusCd[] getRelationshipStatuses();

    @WebMethod
    @WebResult(name = "ProfessionalStatus")
    ProfessionalStatusCd[] getProfessionalStatuses();

    @WebMethod
    @WebResult(name = "ProfessionalType")
    ProfessionalTypeCd[] getProfessionalTypes();

    @WebMethod
    @WebResult(name = "WaitinglistPriority")
    WaitinglistPriorityCd[] getWaitinglistPriorities();

    @WebMethod
    @WebResult(name = "Profession")
    ProfessionCd[] getProfessions();

    @WebMethod
    @WebResult(name = "Race")
    RaceCd[] getRaces();

    @WebMethod
    @WebResult(name = "RatingType")
    RatingTypeCd[] getRatingTypes();

    @WebMethod
    @WebResult(name = "RecordType")
    RecordTypeCd[] getRecordTypes();

    @WebMethod
    @WebResult(name = "RelativeConditionType")
    RelativeConditionTypeCd[] getRelativeConditionTypes();

    @WebMethod
    @WebResult(name = "RelativeType")
    RelativeTypeCd[] getRelativeTypes();

    @WebMethod
    @WebResult(name = "Religion")
    ReligionCd[] getReligions();

    @WebMethod
    @WebResult(name = "Salutation")
    SalutationCd[] getSalutations();

    @WebMethod
    @WebResult(name = "Sex")
    SexCd[] getSexes();

    @WebMethod
    @WebResult(name = "SpecialtyType")
    SpecialtyTypeCd[] getSpecialtyTypes();

    @WebMethod
    @WebResult(name = "SurgeryType")
    SurgeryTypeCd[] getSurgeryTypes();

    @WebMethod
    @WebResult(name = "TreatmentType")
    TreatmentTypeCd[] getTreatmentTypes();

    @WebMethod
    @WebResult(name = "UserStatus")
    UserStatusCd[] getUserStatuses();

    @WebMethod
    @WebResult(name = "VisionExamReasonType")
    VisionExamReasonTypeCd[] getVisionExamReasonTypes();

    @WebMethod
    @WebResult(name = "VisionNonPrescriptionGlassesType")
    VisionNonPrescriptionGlassesTypeCd[] getVisionNonPrescriptionGlassesTypes();

    @WebMethod
    @WebResult(name = "VisionPrescriptionGlassesType")
    VisionPrescriptionGlassesTypeCd[] getVisionPrescriptionGlassesTypes();

    @WebMethod
    @WebResult(name = "VisionContactLensType")
    VisionContactLensTypeCd[] getVisionContactLensTypes();
}

They are very different interfaces. Here are the beginnings of the implementations:
@WebService(serviceName = "UserWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.UserWebService")
public class UserWebServiceImpl extends AbstractWebService implements UserWebService {}

@WebService(serviceName = "ReferenceDataWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.ReferenceDataWebService")
public class ReferenceDataWebServiceImpl extends AbstractWebService implements ReferenceDataWebService {}

These services have worked fine before as I said on CXF v2.0.x.... maybe even 2.1.0.

When I start up the application and look at my available services I get this:
Available services:
UserWebService

    * isUserUnique
    * saveNewUser
    * isUsernameTaken
    * getUser
    * login

	Endpoint address: http://localhost:8080/services/UserWebService
Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
Target namespace: http://impl.ws.web.globalhealth.hxcel.com/
UserWebService

    * isUserUnique
    * saveNewUser
    * isUsernameTaken
    * getUser
    * login

	Endpoint address: http://localhost:8080/services/ReferenceDataWebService
Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
Target namespace: http://impl.ws.web.globalhealth.hxcel.com/

The web service I export first will always override all the other web services I have.

Is this a bug or am I smoking the wrong end of the pipe again!?

Cheers
bjorn


> Multiple published services all reference the first exported spring web service 
> --------------------------------------------------------------------------------
>
>                 Key: CXF-1746
>                 URL: https://issues.apache.org/jira/browse/CXF-1746
>             Project: CXF
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 2.1.1
>         Environment: Mac OSX, 10.5.4, JDK 1.6.0_5, Spring 2.5.5, CXF 2.1.1
>            Reporter: Bjorn Harvold
>
> Hi,
> I've been working with CXF since the incubator stage. Before that I was an xfire user. My multiple web services have been successfully published on earlier version of CXF. I THINK this issue is associated with v2.1.1.
> Here are my services configured in spring:
> <!-- ============================== WEB SERVICE END POINT============================== -->
>     <jaxws:endpoint id="cxf_UserWebService"
>                     implementor="#userWebService"
>                     address="/UserWebService">
>         <jaxws:serviceFactory>
>             <ref bean="serviceFactory"/>
>         </jaxws:serviceFactory>
>     </jaxws:endpoint>
>     <jaxws:endpoint id="cxf_ReferenceDataWebService"
>                     implementor="#referenceDataWebService"
>                     address="/ReferenceDataWebService">
>         <jaxws:serviceFactory>
>             <ref bean="serviceFactory"/>
>         </jaxws:serviceFactory>
>     </jaxws:endpoint>
>     <!-- ============================== WEB SERVICE END POINT============================== -->
>     <!-- ============================== WEB SERVICE ============================== -->
>     <bean id="userWebService" class="com.hxcel.globalhealth.web.ws.impl.UserWebServiceImpl" parent="abstractWebService">
>         <property name="resourceBundle" value="errors"/>
>         <property name="description" value="${application.user.description}"/>
>         <property name="name" value="${application.user.name}"/>
>         <property name="shortName" value="${application.user.name.short}"/>
>     </bean>
>     <bean id="referenceDataWebService" class="com.hxcel.globalhealth.web.ws.impl.ReferenceDataWebServiceImpl" parent="abstractWebService">
>         <property name="description" value="${application.phr.description}"/>
>         <property name="name" value="${application.referencedata.name}"/>
>         <property name="shortName" value="${application.referencedata.name.short}"/>
>     </bean>
>     <!-- ============================== WEB SERVICE ============================== --> 
> Here are the interfaces:
> @WebService
> public interface UserWebService {
>     @WebMethod
>     @WebResult(name = "User")
>     UserDto getUser(@WebParam(name="id") String id) throws Fault;
>     @WebMethod
>     UserDto saveNewUser(@WebParam(name = "dto")UserDto dto) throws Fault;
>     @WebMethod
>     @WebResult(name = "isUsernameTaken")
>     Boolean isUsernameTaken(@WebParam(name="username") String username) throws Fault;
>     @WebMethod
>     @WebResult(name = "isUserUnique")
>     Boolean isUserUnique(@WebParam(name = "id") String id, @WebParam(name="username") String username) throws Fault;
>     @WebMethod
>     @WebResult(name = "User")
>     UserDto login(@WebParam(name = "username") String username, @WebParam(name="password") String password) throws Fault;
> }
> @WebService
> public interface ReferenceDataWebService {
>     @WebMethod
>     @WebResult(name = "AdvanceDirectiveType")
>     AdvanceDirectiveTypeCd[] getAdvanceDirectiveTypes();
>     @WebMethod
>     @WebResult(name = "AllergyReactionType")
>     AllergyReactionTypeCd[] getAllergyReactionTypes();
>     @WebMethod
>     @WebResult(name = "AllergyType")
>     AllergyTypeCd[] getAllergyTypes();
>     @WebMethod
>     @WebResult(name = "AlternativeTreatmentType")
>     AlternativeTreatmentTypeCd[] getAlternativeTreatmentTypes();
>     @WebMethod
>     @WebResult(name = "BloodType")
>     BloodTypeCd[] getBloodTypes();
>     @WebMethod
>     @WebResult(name = "CaseStatus")
>     EmrStatusCd[] getEmrStatuses();
>     @WebMethod
>     @WebResult(name = "ClientStatus")
>     ClientStatusCd[] getClientStatuses();
>     @WebMethod
>     @WebResult(name = "ContactType")
>     ContactTypeCd[] getContactTypes();
>     @WebMethod
>     @WebResult(name = "Country")
>     CountryCd.code[] getCountries() throws Fault;
>     @WebMethod
>     @WebResult(name = "Country")
>     CountryCd getCountry(String code) throws Fault;
>     @WebMethod
>     @WebResult(name = "CreditcardType")
>     CreditcardTypeCd[] getCreditcardTypes();
>     @WebMethod
>     @WebResult(name = "DentalExamReasonType")
>     DentalExamReasonTypeCd[] getDentalExamReasonTypes();
>     @WebMethod
>     @WebResult(name = "DiagnoserType")
>     DiagnoserTypeCd[] getDiagnoserTypes();
>     @WebMethod
>     @WebResult(name = "EmailType")
>     EmailTypeCd[] getEmailTypes();
>     @WebMethod
>     @WebResult(name = "FrequencyType")
>     FrequencyTypeCd[] getFrequencyTypes();
>     @WebMethod
>     @WebResult(name = "InstantMessageType")
>     InstantMessageTypeCd[] getInstantMessageTypes();
>     @WebMethod
>     @WebResult(name = "ImmunizationType")
>     ImmunizationTypeCd[] getImmunizationTypes();
>     @WebMethod
>     @WebResult(name = "Language")
>     LanguageCd[] getLanguages();
>     @WebMethod
>     @WebResult(name = "LocationType")
>     LocationTypeCd[] getLocationTypes();
>     @WebMethod
>     @WebResult(name = "MaritalStatus")
>     MaritalStatusCd[] getMaritalStatuses();
>     @WebMethod
>     @WebResult(name = "MedicalConditionType")
>     MedicalConditionTypeCd[] getMedicalConditionTypes();
>     @WebMethod
>     @WebResult(name = "MedicationFrequencie")
>     MedicationFrequencyCd[] getMedicationFrequencies();
>     @WebMethod
>     @WebResult(name = "MedicationType")
>     MedicationTypeCd[] getMedicationTypes();
>     @WebMethod
>     @WebResult(name = "NewsChannel")
>     NewsChannelCd[] getNewsChannels();
>     @WebMethod
>     @WebResult(name = "PhoneType")
>     PhoneTypeCd[] getPhoneTypes();
>     @WebMethod
>     @WebResult(name = "ProfessionalClientStatus")
>     RelationshipStatusCd[] getRelationshipStatuses();
>     @WebMethod
>     @WebResult(name = "ProfessionalStatus")
>     ProfessionalStatusCd[] getProfessionalStatuses();
>     @WebMethod
>     @WebResult(name = "ProfessionalType")
>     ProfessionalTypeCd[] getProfessionalTypes();
>     @WebMethod
>     @WebResult(name = "WaitinglistPriority")
>     WaitinglistPriorityCd[] getWaitinglistPriorities();
>     @WebMethod
>     @WebResult(name = "Profession")
>     ProfessionCd[] getProfessions();
>     @WebMethod
>     @WebResult(name = "Race")
>     RaceCd[] getRaces();
>     @WebMethod
>     @WebResult(name = "RatingType")
>     RatingTypeCd[] getRatingTypes();
>     @WebMethod
>     @WebResult(name = "RecordType")
>     RecordTypeCd[] getRecordTypes();
>     @WebMethod
>     @WebResult(name = "RelativeConditionType")
>     RelativeConditionTypeCd[] getRelativeConditionTypes();
>     @WebMethod
>     @WebResult(name = "RelativeType")
>     RelativeTypeCd[] getRelativeTypes();
>     @WebMethod
>     @WebResult(name = "Religion")
>     ReligionCd[] getReligions();
>     @WebMethod
>     @WebResult(name = "Salutation")
>     SalutationCd[] getSalutations();
>     @WebMethod
>     @WebResult(name = "Sex")
>     SexCd[] getSexes();
>     @WebMethod
>     @WebResult(name = "SpecialtyType")
>     SpecialtyTypeCd[] getSpecialtyTypes();
>     @WebMethod
>     @WebResult(name = "SurgeryType")
>     SurgeryTypeCd[] getSurgeryTypes();
>     @WebMethod
>     @WebResult(name = "TreatmentType")
>     TreatmentTypeCd[] getTreatmentTypes();
>     @WebMethod
>     @WebResult(name = "UserStatus")
>     UserStatusCd[] getUserStatuses();
>     @WebMethod
>     @WebResult(name = "VisionExamReasonType")
>     VisionExamReasonTypeCd[] getVisionExamReasonTypes();
>     @WebMethod
>     @WebResult(name = "VisionNonPrescriptionGlassesType")
>     VisionNonPrescriptionGlassesTypeCd[] getVisionNonPrescriptionGlassesTypes();
>     @WebMethod
>     @WebResult(name = "VisionPrescriptionGlassesType")
>     VisionPrescriptionGlassesTypeCd[] getVisionPrescriptionGlassesTypes();
>     @WebMethod
>     @WebResult(name = "VisionContactLensType")
>     VisionContactLensTypeCd[] getVisionContactLensTypes();
> }
> They are very different interfaces. Here are the beginnings of the implementations:
> @WebService(serviceName = "UserWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.UserWebService")
> public class UserWebServiceImpl extends AbstractWebService implements UserWebService {}
> @WebService(serviceName = "ReferenceDataWebService", endpointInterface = "com.hxcel.globalhealth.web.ws.ReferenceDataWebService")
> public class ReferenceDataWebServiceImpl extends AbstractWebService implements ReferenceDataWebService {}
> AbstractWebService only has some String accessors.
> These services have worked fine before as I said on CXF v2.0.x.... maybe even 2.1.0.
> When I start up the application and look at my available services I get this:
> Available services:
> UserWebService
>     * isUserUnique
>     * saveNewUser
>     * isUsernameTaken
>     * getUser
>     * login
> 	Endpoint address: http://localhost:8080/services/UserWebService
> Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
> Target namespace: http://impl.ws.web.globalhealth.hxcel.com/
> UserWebService
>     * isUserUnique
>     * saveNewUser
>     * isUsernameTaken
>     * getUser
>     * login
> 	Endpoint address: http://localhost:8080/services/ReferenceDataWebService
> Wsdl: {http://impl.ws.web.globalhealth.hxcel.com/}UserWebService
> Target namespace: http://impl.ws.web.globalhealth.hxcel.com/
> The web service I export first will always override all the other web services I have.
> Is this a bug or am I smoking the wrong end of the pipe again!?
> Cheers
> bjorn

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.