cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Loeffelholz <>
Subject DynamicClient: Trouble getting Classobjects for Parameters using document/literal wrapped Webservices
Date Thu, 04 Nov 2010 10:38:11 GMT
Hello Folks,

I'm working on a way to describe webservices for usage within an
agent-platform. To make it possible that softwareagents on this platform
can use it I need to read out informations about the classes needed to
invoke the service. Eventually I need the name of the parameterclass and
a classobject of that class.

At the moment I try to get these informations from the dynamicClient
created with the DynamicClientFactory. Which seems to work fine for
RPC/literal services.

As using document/literal the only messagepart encapsulates the true
parameters of the invoke call. And that's where the trouble starts.

I managed to get the name of the classes involved (listing included
below), but I need to get classobjects for these classes at runtime
without knowing anything about them at coding time. 

Does somebody know how to get a classobject from the parameters and
perhaps some informations about the minOccur and maxOccur properties of
these parameters?

Collection<BindingOperationInfo> binOpInfos =

for (BindingOperationInfo opInfo : binOpInfos){
	ArrayList<Class<?>> inputs = new ArrayList<Class<?>>();
	ArrayList<String> inputTypeNames = new ArrayList<String>();
	if (!opInfo.isUnwrapped() && opInfo.isUnwrappedCapable()){
		opInfo = opInfo.getUnwrappedOperation();
	BindingMessageInfo mesInputInfo = opInfo.getInput();
	BindingMessageInfo mesOutputInfo = opInfo.getOutput();

	// processing input
	for ( MessagePartInfo part : mesInputInfo.getMessageParts()){
		if (part.isElement()){
			// document/literal wrapped
			for (Field f: part.getTypeClass().getDeclaredFields()){
				ParameterizedTypeImpl parmTI = (ParameterizedTypeImpl)
				for (Type t : parmTI.getActualTypeArguments()){
					//adding typename of arguments to the list:
		} else {

hopeful greetings

View raw message