Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MalformedURLException: unknown protocol: smb when migrating services from EI to MI 1.2.0 #1599

Closed
JanakaPushpakumara opened this issue Mar 10, 2023 · 1 comment

Comments

@JanakaPushpakumara
Copy link

Description

The following Error exception can be observed when we migrate inbound EP and the inject sequence which contains the file connector configuration with smb endpoint URL.
Ex:

[2023-03-10 15:28:50,122] ERROR {FilePollingConsumer} - Error processing File URI : file:///Users/janakap/smb/IN/abc.txt org.apache.synapse.SynapseException: Error occured in the mediation of the class mediator
	at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:102)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
	at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:136)
	at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:169)
	at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:92)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectInbound(Axis2SynapseEnvironment.java:477)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FileInjectHandler.invoke(FileInjectHandler.java:168)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.processFile(FilePollingConsumer.java:701)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.directoryHandler(FilePollingConsumer.java:494)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.poll(FilePollingConsumer.java:207)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.execute(FilePollingConsumer.java:131)
	at org.wso2.carbon.inbound.endpoint.protocol.file.FileTask.taskExecute(FileTask.java:45)
	at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:43)
	at org.wso2.micro.integrator.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:105)
	at org.wso2.micro.integrator.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:63)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.apache.synapse.SynapseException: Error occurred while copying a file.
	at org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:376)
	at org.wso2.carbon.connector.FileCopy.doCopy(FileCopy.java:237)
	at org.wso2.carbon.connector.FileCopy.copyFile(FileCopy.java:161)
	at org.wso2.carbon.connector.FileCopy.connect(FileCopy.java:67)
	at org.wso2.carbon.connector.core.AbstractConnector.mediate(AbstractConnector.java:32)
	at org.apache.synapse.mediators.ext.ClassMediator.updateInstancePropertiesAndMediate(ClassMediator.java:178)
	at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:97)
	... 24 more
Caused by: org.apache.commons.vfs2.FileSystemException: Badly formed URI "smb://bob:***@172.18.0.2/BobsVolume/abc.txt".
	at org.apache.commons.vfs2.provider.url.UrlFileProvider.findFile(UrlFileProvider.java:75)
	at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:793)
	at org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:658)
	at org.wso2.carbon.connector.FileCopy.doCopy(FileCopy.java:233)
	... 29 more
Caused by: java.net.MalformedURLException: unknown protocol: smb
	at java.base/java.net.URL.<init>(URL.java:652)
	at java.base/java.net.URL.<init>(URL.java:541)
	at java.base/java.net.URL.<init>(URL.java:488)
	at org.apache.commons.vfs2.provider.url.UrlFileProvider.findFile(UrlFileProvider.java:60)
	... 32 more

Steps to Reproduce

  1. Copy the carbon application with the file connector 3.0.6 car.zip
  2. Deply the inbound EP and inject a sequence
<?xml version="1.0" encoding="UTF-8"?>
<inboundEndpoint name="SmbDebugFileIEP" onError="SmbDebugFaultSeq" protocol="file"
    sequence="SmbDebugFileConnectorSeq" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
    <parameters>
        <parameter name="interval">15000</parameter>
        <parameter name="sequential">true</parameter>
        <parameter name="coordination">true</parameter>
        <parameter name="transport.vfs.ContentType">application/binary</parameter>
        <parameter name="transport.vfs.LockReleaseSameNode">false</parameter>
        <parameter name="transport.vfs.AutoLockRelease">false</parameter>
        <parameter name="transport.vfs.ActionAfterFailure">DELETE</parameter>
        <parameter name="transport.vfs.FailedRecordsFileName">vfs-move-failedrecords.properties</parameter>
        <parameter name="transport.vfs.FailedRecordsFileDestination">repository/conf/</parameter>
        <parameter name="transport.vfs.MoveFailedRecordTimestampFormat">dd-MM-yyyy
            HH:mm:ss</parameter>
        <parameter name="transport.vfs.FailedRecordNextRetryDuration">3000</parameter>
        <parameter name="transport.vfs.ActionAfterProcess">DELETE</parameter>
        <parameter name="transport.vfs.FileURI">file:///Users/janakap/smb/IN</parameter>
        <parameter name="transport.vfs.MoveAfterProcess">file:///Users/janakap/smb/OUT</parameter>
        <parameter name="transport.vfs.ReplyFileName">response.xml</parameter>
        <parameter name="transport.vfs.DistributedLock">false</parameter>
        <parameter name="transport.vfs.FileNamePattern">abc.*</parameter>
        <parameter name="transport.vfs.Locking">disable</parameter>
        <parameter name="transport.vfs.FileSortAttribute">none</parameter>
        <parameter name="transport.vfs.FileSortAscending">false</parameter>
        <parameter name="transport.vfs.CreateFolder">true</parameter>
        <parameter name="transport.vfs.Streaming">true</parameter>
        <parameter name="transport.vfs.Build">false</parameter>
    </parameters>
</inboundEndpoint>

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="SmbDebugFileConnectorSeq" onError="SmbDebugFaultSeq" trace="disable"
    xmlns="http://ws.apache.org/ns/synapse">
    <log description="Full  Log" level="full" />
    <propertyGroup>
        <property name="targetUrl" scope="default" type="STRING" value="smb://bob:[email protected]/BobsVolume" />
        <property name="filePath" scope="default" type="STRING" value="file:///Users/janakap/smb/temp/abc.txt" />
    </propertyGroup>
    <fileconnector.copy>
        <source>{$ctx:filePath}</source>
        <destination>{$ctx:targetUrl}</destination>
        <setTimeout>100000</setTimeout>
        <setPassiveMode>true</setPassiveMode>
        <setSoTimeout>100000</setSoTimeout>
        <setUserDirIsRoot>false</setUserDirIsRoot>
        <setStrictHostKeyChecking>no</setStrictHostKeyChecking>
    </fileconnector.copy>
    <log description="Full  Log" level="full" />
</sequence>
  1. Copy a sample file into the consumer location and connector source location
    echo "abcdabcdabcd" > abc.txt ; cp abc.txt ../temp;

Affected Component

MI

Version

wso2mi-1.2.0.119

Environment Details (with versions)

No response

Relevant Log Output

No response

Related Issues

No response

Suggested Labels

mi 1.2.0 smb vfs

@YasasRangika
Copy link

According to Microsoft, they have discontinued smb1 https://techcommunity.microsoft.com/t5/storage-at-microsoft/stop-using-smb1/ba-p/425858.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants