powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
16 сообщений из 16, страница 1 из 1
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438407
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу воспользоваться NamespacePrefixMapper-ом для удаления префиксов, которые jaxb добавляет в xml и замены их на те префиксы, которые должны быть. Получаю PropertyException:

14:32:03,877 ERROR [STDERR] javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper value: travel_click.common.ReninsNamespacePrefixMapper@23a8a25e
14:32:03,877 ERROR [STDERR] at javax.xml.bind.helpers.AbstractMarshallerImpl.setProperty(AbstractMarshallerImpl.java:338)
14:32:03,877 ERROR [STDERR] at com.sun.xml.bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:543)
14:32:03,877 ERROR [STDERR] at travel_click.logic.manager.connector.ReninsConnector.doRequest(ReninsConnector.java:141)
14:32:03,877 ERROR [STDERR] at travel_click.logic.manager.PhoenixManager.getAddresses(PhoenixManager.java:247)
14:32:03,877 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:32:03,877 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
14:32:03,877 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:32:03,877 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
14:32:03,877 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor552.invoke(Unknown Source)
14:32:03,877 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:32:03,877 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_2112118876.invoke(InvocationContextInterceptor_z_fillMethod_2112118876.java)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_2112118876.invoke(InvocationContextInterceptor_z_setup_2112118876.java)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
14:32:03,877 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.security.RunAsSecurityInterceptorv2.invoke(RunAsSecurityInterceptorv2.java:94)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invokeLocal(IsLocalInterceptor.java:85)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
14:32:03,877 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
14:32:03,877 ERROR [STDERR] at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
14:32:03,877 ERROR [STDERR] at $Proxy873.invoke(Unknown Source)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
14:32:03,877 ERROR [STDERR] at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
14:32:03,877 ERROR [STDERR] at $Proxy886.getAddresses(Unknown Source)
14:32:03,877 ERROR [STDERR] at travel_click.web.formbean.PersonalCabinetAction.myProfile(PersonalCabinetAction.java:424)
14:32:03,877 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:32:03,877 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
14:32:03,877 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:32:03,877 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at travel_click.web.interceptors.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:44)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
14:32:03,877 ERROR [STDERR] at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
14:32:03,877 ERROR [STDERR] at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
14:32:03,877 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
14:32:03,877 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
14:32:03,877 ERROR [STDERR] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
14:32:03,887 ERROR [STDERR] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
14:32:03,887 ERROR [STDERR] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
14:32:03,887 ERROR [STDERR] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380)
14:32:03,887 ERROR [STDERR] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
14:32:03,887 ERROR [STDERR] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
14:32:03,887 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
14:32:03,887 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
14:32:03,887 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
14:32:03,887 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
14:32:03,887 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
14:32:03,887 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class ReninsNamespacePrefixMapper extends NamespacePrefixMapper  {


	@Override
	public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) {
		if (namespaceUri.equals("http://renins.com/ns/TravelISS/MakeCalculation")) {
			return "trav";
		}
		return suggestion;
	}
	
	@Override
	public String[] getPreDeclaredNamespaceUris() {
		return new String[0];
	}

}




Код: java
1.
2.
3.
        JAXBContext context = JAXBContext.newInstance(calculation.getClass());
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty("com.sun.xml.internal.bind.namespacePrefixMapper", new ReninsNamespacePrefixMapper());



Есть подозрение на конфликт версий jaxb, так как помимо включенного в jdk1.6.0_31, есть jaxb в библиотеках JBoss.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438426
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверьте импорт для NamespacePrefixMapper. Возможно IDE там не тот package вписала.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438461
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
import com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper;

marshaller в ключ не входит, хотя я пробовал и с ним.

Параллельно пробую вариант с package-info.java

Код: java
1.
2.
3.
4.
5.
@javax.xml.bind.annotation.XmlSchema(namespace = "http://renins.com/ns/TravelISS", xmlns = { @javax.xml.bind.annotation.XmlNs(prefix = "trav", namespaceURI = "http://renins.com/ns/TravelISS/MakeCalculation"), 
@javax.xml.bind.annotation.XmlNs(prefix = "ren", namespaceURI = "http://renins.com/ns/TravelISS/MessageID"),
@javax.xml.bind.annotation.XmlNs(prefix = "ren", namespaceURI = "http://renins.com/ns/TravelISS/UserIdentity"),
@javax.xml.bind.annotation.XmlNs(prefix = "ren", namespaceURI = "http://renins.com/ns/TravelISS/Policy")}, elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.renins.ns.traveliss;




На получаемый xml это никак не влияет, хотя иксепшенов нет. Может, namespaceURI неправильно указан?
xml должен получиться такой:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<trav:MakeCalculation>
         <!--Optional:-->
         <trav:request>
            <ren:MessageID>013b0555-6c88-453a-ba7b-9c4253a51cee</ren:MessageID>
            <ren:UserIdentity>2D930118-919A-424F-BDA0-185735FDB5C0</ren:UserIdentity>
            <ren:Policy>
               <ren:Trip>
                  <ren:Countries>
                     <!--Zero or more repetitions:-->
                     <ren:Country>Austria, Schengen</ren:Country>
                     <ren:Country>Germany, Schengen</ren:Country>
                  </ren:Countries>
               </ren:Trip>
                ....
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438471
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eklm86import com.sun.xml. internal .bind.marshaller.NamespacePrefixMapper;

Вот и я об этом.
Правильный: com.sun.xml.bind.marshaller.NamespacePrefixMapper;
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438492
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня нет в classpath пакета com.sun.xml.bind. Эклипс, по крайней мере, не видит.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438498
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может оказаться что в JBoss работает его реализация jaxb, в которой этот класс есть.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438503
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите, у вас в stacktrace указан класс
at com.sun.xml.bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:543)
в имени пакета нет internal
Значит работает jaxb не из Java 6, а из JBoss.
Соответсвенно надо и NamespacePrefixMapper оттуда же взять.

Но вариант с package-info более безопасный.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438870
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, сейчас использую jaxb из JBOSS и NamespacePrefixMapper работает.
Удалось снабдить нужными префиксами все теги, кроме тега request.

Код сейчас такой:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class ReninsNamespacePrefixMapper extends NamespacePrefixMapper  {


	@Override
	public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) {
		if (namespaceUri.equals("http://renins.com/ns/TravelISS")) {
			 return "trav";
		 }
		if (namespaceUri.equals("http://schemas.datacontract.org/2004/07/Renins.Core.Base.Model.Travel")) {
 			return "ren";
		}

		return suggestion;
	}
	
	@Override
	 public String[] getPreDeclaredNamespaceUris() {
		return new String[0];
	}
}



Вот xsd: http://test1.services.renins.com/TravelISS/PolicyIntegrationService.svc?xsd=xsd0

Выловил дебаггером namespaceUri при каждом вызове getPreferredPrefix, но тег request ни на один из них не ловится.
Потом постараюсь переделать на package-info.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438878
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите маппинг этого тэга.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438915
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "request"
})
@XmlRootElement(name = "MakeCalculation")
public class MakeCalculation {

    @XmlElementRef(name = "request", namespace = "http://renins.com/ns/TravelISS", type = JAXBElement.class)
    protected JAXBElement<TravelCalculationRequest> request;

    /**
     * Gets the value of the request property.
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link TravelCalculationRequest }{@code >}
     *     
     */
    public JAXBElement<TravelCalculationRequest> getRequest() {
        return request;
    }

    /**
     * Sets the value of the request property.
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link TravelCalculationRequest }{@code >}
     *     
     */
    public void setRequest(JAXBElement<TravelCalculationRequest> value) {
        this.request = ((JAXBElement<TravelCalculationRequest> ) value);
    }

}



Судя по маппингу - будто бы http://renins.com/ns/TravelISS...
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438946
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может в сам TravelCalculationRequest тоже прописать тэг и namespace?
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38438974
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разве можно там прописать тег? namespace прописал:
Код: java
1.
2.
3.
4.
5.
6.
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TravelCalculationRequest", propOrder = {
    "messageID",
    "userIdentity",
    "policy"
}, namespace = "http://renins.com/ns/TravelISS")



Префикс сменился на trav у непосредственных детей request, у самого request не появился.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38439452
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню задачу: я пишу клиент для WCF-сервиса с basicHttpBinding. Может, лучше использовать Axis или какую-то другую библиотеку?
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38439903
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, ну мне не нужно было делать jaxb marshalling вручную, у меня уже есть класс клиента(использовал wsimport).
Код: java
1.
2.
3.
    	PolicyIntegrationService service1 = new PolicyIntegrationService();
    	IPolicyIntegrationService service = service1.getBasicHttpBindingIPolicyIntegrationService();
    	TravelCalculationResponse response = service.makeCalculation(travelCalculationRequest); 



Правда, там тоже проблема. Не создается объект PolicyIntegrationService:
14:04:19,195 ERROR [STDERR] Caused by: org.jboss.ws.WSException: Cannot deploy null policy!
14:04:19,195 ERROR [STDERR] at org.jboss.ws.extensions.policy.deployer.PolicyDeployer.deployClientSide(PolicyDeployer.java:153)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.deployPolicyClientSide(PolicyMetaDataBuilder.java:307)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.deployPolicy(PolicyMetaDataBuilder.java:274)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.processPolicies(PolicyMetaDataBuilder.java:233)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.processPolicyExtensions(PolicyMetaDataBuilder.java:190)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:92)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:138)
14:04:19,195 ERROR [STDERR] at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:63)
14:04:19,195 ERROR [STDERR] at javax.xml.ws.Service.<init>(Service.java:79)


Попробовал сгенерировать клиент средствами Apache CFX - абсолютно то же самое.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38439945
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему, там те же проблемы биндингом xml в java, в результате чего объекты модели не создаются.
...
Рейтинг: 0 / 0
javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
    #38441527
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчитаюсь о своём хэппи энде.

Добавить префикс к тегу request не получалось вот почему:
Код: java
1.
2.
    	QName qName = new QName("request");
    	JAXBElement<TravelCalculationRequest> el = new JAXBElement<TravelCalculationRequest>(qName, TravelCalculationRequest.class, MakeCalculation.class, travelCalculationRequest);



Если передать в QName "ns2:request", то всё работает.
Притом, что замена префикса как выяснилось, не обязательна, но сам префикс у request необходим(всё равно какой).
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.namespacePrefixMapper
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]