In SAP NetWeaver 2004 and SAP NetWeaver 2004s, repository namespaces cannot contain more than 60 characters. When the system reads xsd and wsdl files as external definitions, it automatically uses the respective target namespace as the repository namespace of the external messages extracted from that namespace. If this target namespace has more than 60 characters, the system does not extract any message.
For a wsdl file, you simply need to edit the target namespace manually (attribute "targetNamespace" of the wsdl:definitions element) and reduce the number of characters to less than 60. For the structure of the extracted messages (exception: import assuming rpc style binding, see below), this target namespace does not have any importance.
For a xsd file, refer to the first case. Import the xsd file, navigate to the tab with the generated wsdl file, copy this to an editor and shorten the target namespace. Then, import the edited wsdl file as an external definition.
There is no length limit for the xml namespace name for definitions of message mappings. If you want to generate a proxy from the external message, the xml namespace must not be longer than 250 characters.
In SAP NetWeaver 2004 as of SP16 and AP NetWeaver 2004s as of SP07, you can extract messages from wsdl files with rpc style binding. In this case, the system uses the target namespace of the wsdl definition as the xml namespace for the messages. If the target namespace is too long, first import the file with the selection for using the rpc style, copy the generated file into an editor and shorten the target namespace. Then,re-import the file but use the selection "from all contained message definitions".