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/14 03:59:44 UTC

[jira] Closed: (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 closed CXF-1746.
------------------------------

    Resolution: Won't Fix

> 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.