patchAddress((ProfileBase)profile, repId, _transient);
// patch primary address port to 0 if SSL is required
if (poa.isSSLRequired())
{
((ProfileBase)profile).patchPrimaryAddress(new IIOPAddress(null, 0));
}
}
}
TaggedComponentList multipleComponents = new TaggedComponentList();
componentMap.put(Integer.valueOf(TAG_MULTIPLE_COMPONENTS.value),
multipleComponents);
// invoke IOR interceptors
if ((interceptor_manager != null) &&
interceptor_manager.hasIORInterceptors())
{
IORInfoImpl info = new IORInfoImpl(this,
poa,
componentMap,
policy_overrides,
profiles);
try
{
interceptor_manager.getIORIterator().iterate( info );
}
catch (Exception e)
{
if (logger.isErrorEnabled())
{
logger.error(e.getMessage());
}
}
}
// add GIOP 1.0 profile if necessary
IIOPProfile iiopProfile = findIIOPProfile(profiles);
if ( (iiopProfile != null)
&& ( this.giopMinorVersion == 0 || this.giopAdd_1_0_Profiles ))
{
Profile profile_1_0 = iiopProfile.to_GIOP_1_0();
profiles.add(profile_1_0);
// shuffle all components over into the multiple components profile
TaggedComponentList iiopComponents =
componentMap.get(Integer.valueOf(TAG_INTERNET_IOP.value));
multipleComponents.addAll(iiopProfile.getComponents());
multipleComponents.addAll(iiopComponents);
// if we only want GIOP 1.0, remove the other profile
if (giopMinorVersion == 0)
{
profiles.remove(iiopProfile);
}
}
if (iiopProfile != null)
{
TaggedComponentList components =
componentMap.get(Integer.valueOf(TAG_INTERNET_IOP.value));
// patch primary address port to 0 if SSL is required
if (isSSLRequiredInComponentList(components))
{
iiopProfile.patchPrimaryAddress(new IIOPAddress(null, 0));
}
}
// marshal the profiles into the IOR and return
TaggedProfile[] tps = null;